![当我复制备份时,为什么 crontab 会给出权限错误消息?](https://linux22.com/image/82908/%E5%BD%93%E6%88%91%E5%A4%8D%E5%88%B6%E5%A4%87%E4%BB%BD%E6%97%B6%EF%BC%8C%E4%B8%BA%E4%BB%80%E4%B9%88%20crontab%20%E4%BC%9A%E7%BB%99%E5%87%BA%E6%9D%83%E9%99%90%E9%94%99%E8%AF%AF%E6%B6%88%E6%81%AF%EF%BC%9F.png)
我使用 PuTTY 会话将夜间备份复制到另一个位置。我以用户身份登录root
,并将目录更改为/store/BackupLocation
保存最近 100 天的备份。然后我可以运行:
bash /bin/ScriptThatCopiesBackup.sh
该脚本将我的备份复制/store/BackupLocation
到另一个目录/store/BackupArchive
这一切都很完美,但我似乎无法安排这个脚本在 crontab 中自动运行。相反,我每天都会收到以下权限错误:
/bin/bash: /bin/ScriptThatCopiesBackup.sh :Permission denied
我的问题是,为什么我会收到此错误消息,即使一切都是由 root 完成的?我能做些什么来解决这个问题?
以下是我的脚本的权限:
-rw-r--r-- 1 root root 213 June 19 2013 ScriptThatCopiesBackup.sh
这是我的 crontab 设置:
30 16 * * * /bin/ScriptThatCopiesBackup.sh
答案1
问题是您的脚本未设置为可执行。 chmod u+x /bin/ScriptThatCopiesBackup.sh
将使脚本可由其所有者运行(在本例中为root
)。
答案2
您的问题可能是您编辑了错误的crontab
文件。 (即使你说你正在做所有事情root
)。尝试crontab
使用 编辑文件crontab -u root
。
您的脚本也可能无法执行。chmod +x /path/to/yourscript.sh
应该使其可执行。