定时任务:
*/5 * * * * /home/owner/scripts/upload_main.sh
上传_main.sh:
#!/bin/bash
flock -xn /home/owner/locks/upload.lck -c /home/owner/scripts/upload_silent.sh
upload_silent.sh:
#!/bin/bash
rclone move /home/owner/gdrive/Movies/ gdrive:movies --transfers=6 --no-traverse --quiet
rclone move /home/owner/gdrive/"TV Shows"/ gdrive:tv --transfers=6 --no-traverse --quiet
# remove empty directories
find /home/owner/gdrive/Movies/* -empty -type d -delete 2>/dev/null
find /home/owner/gdrive/"TV Shows"/* -empty -type d -delete 2>/dev/null
我的 crontab 不执行 upload_main.sh 脚本,但运行脚本独立工作。 grep CRON 显示 cron 正在运行,没有任何错误。
我使用的是非 root 用户帐户 ubuntu 14.04。
答案1
由于您没有将 cronjob 的输出重定向到>/dev/null 2>&1
(这对于调试来说很好),因此输出应该“邮寄”到您的用户帐户。检查/var/mail
以读取您的消息并查找 cron 输出。您应该在那里找到错误。
答案2
如果 crontab 末尾有一个空行,它可能会阻止它执行。
我知道这不是这里的问题,但当我遇到同样的问题时,这就是我的答案!
答案3
发现问题,我不得不使用 rclone 的完整路径:/usr/local/bin/rclone