我想使用 cron 从目录创建备份。我写了以下命令:
cd 路径 && sudo zip -r "backup-$(date +" %Y-%m-%d").zip" git/ && sudo mv "backup-$(date +" %Y-%m-%d").zip" /backup/
当我从命令行调用它时,一切都正常。但是当我将它放到 cron 时,它不起作用。日志仅包含此命令的一部分,没有其他内容。我该怎么办?
Crontab内容:
* * * * * cd path && zip -r "backup-$(date +"%Y-%m-%d").zip" git/ && mv "backup-$(date +"%Y-%m-%d").zip" /backup
/
答案1
根据要求,我将其移至答案:
将要运行的命令放在.sh文件,例如:
1. vi test.sh
cd path && sudo zip -r "backup-$(date +"%Y-%m-%d").zip" git/ && sudo mv "backup-$(date +"%Y-%m-%d").zip" /backup/
保存并退出。
在控制台上运行
2. chmod +x test.sh
使用您想要的周期从 cron 调用文件:
3. crontab -e
#Run every hour
0 * * * * /path/to/file/test.sh
确保使用 cron 执行文件的用户有权限运行该文件。