【问题标题】:Script doesn't work when called from cron从 cron 调用时脚本不起作用
【发布时间】:2014-10-12 23:20:04
【问题描述】:

我有以下从命令行调用时可以正常工作的脚本:

#!/bin/sh
/usr/bin/mysqldump -u root -ppassword redmine > /home/administrateur/backup/backup_$(date+%Y-%m-%d-%H.%M.%S).sql
find /home/administrateur/backup/* -mtime +15 -exec rm {} \;
rsync -e 'ssh -p 22' -avzp /home/administrateur/backup is-uber-1:/home/administrateur/backup

但是这个脚本在从 cron 调用时省略了 rsync 行。

有人知道为什么吗?

【问题讨论】:

  • 你确定它工作正常吗? $(date+%Y-%m-%d-%H.%M.%S) 里面没有空格。
  • 是的,我向你保证,当从命令行调用它时它工作正常,转储文件被创建。

标签: linux shell ssh cron rsync


【解决方案1】:

基本上你需要以administrateur 运行你的脚本。你可以使用sudo

/usr/bin/sudo -H -u administrateur -- /bin/sh /path/to/your/script.sh

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-18
    • 1970-01-01
    • 1970-01-01
    • 2012-07-24
    • 2017-10-20
    • 2014-06-03
    • 1970-01-01
    相关资源
    最近更新 更多