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 中,像这样:
- 使用
su
以 root 身份登录
- 使用
crontab -e
编辑您的 root 用户的 crontab
- 在打开的编辑器中编写您的 cron 作业
cron 选项卡执行的方式很完美最后的问题是我在 windows 计算机上开发并且行尾格式不正确导致 scp 无法正确执行。
我有一个包含以下代码的文件:
#!/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 中,像这样:
- 使用
su
以 root 身份登录
- 使用
crontab -e
编辑您的 root 用户的 crontab
- 在打开的编辑器中编写您的 cron 作业
cron 选项卡执行的方式很完美最后的问题是我在 windows 计算机上开发并且行尾格式不正确导致 scp 无法正确执行。