Bash SCP CRON 不工作

Bash SCP CRON not working

我有一个包含以下代码的文件:

#!/bin/bash
scp -r -P 2222 -i /etc/ssh/ssh_host_rsa_key /opt/storage/test/* root@xxx.xxx.xxx.xxx:/opt/storage/test/

现在,当我将它放入 cron 选项卡时,它会运行,但没有错误,什么也没有发生。有什么问题?

这是它在 cron 选项卡中的设置方式:

*/5 * * * * root /bin/bash /opt/crons/testCopy >> /opt/crons/mylog.log 2>> /opt/crons/err.log

脚本和 cron 看起来不错。

请检查脚本

/opt/crons/testCopy

有权限0600,否则不会运行。我使用 0600,但唯一需要的是 GROUP 和 OTHERS 没有对该文件的任何访问权限。这是一项安全措施。

执行这个:

sudo chmod 0600 path/to/file

如果你想 运行 你的命令作为 root 你应该把这行放在你的 root 用户的 crontab 中,像这样:

  1. 使用 su
  2. 以 root 身份登录
  3. 使用 crontab -e
  4. 编辑您的 root 用户的 crontab
  5. 在打开的编辑器中编写您的 cron 作业

cron 选项卡执行的方式很完美最后的问题是我在 windows 计算机上开发并且行尾格式不正确导致 scp 无法正确执行。