我在根目录中创建了一个备份文件夹。以下是在 crontab -e 中运行备份任务的命令:
* * * * * sudo tar -cvpzf /backupfolder/user1_backup-$(date +%Y--%m-%d).tar.gz /home/students/user1
我尝试随时将用户 1 帐户备份到备份文件夹,但不知何故,我无法在备份文件夹中找到任何备份文件......
我的上面的命令有什么错误吗?
我尝试了这个命令:
sudo tar -cvpzf user1_backup-$(date +%Y--%m-%d).tar.gz /home/students/user1
没有发现任何问题,备份效果很好。有人可以指导我吗?谢谢!
编辑:以下是我对 grep CRON /var/log/syslog 的输出: cron 系统日志
答案1
来自crontab 的手册页:
该行的整个命令部分(直到换行符或 % 字符)将由 /bin/sh 或 crontab 文件的 SHELL 变量中指定的 shell 执行。除非使用反斜杠 (\) 进行转义,否则命令中的百分号 (%) 将更改为换行符,并且第一个 % 之后的所有数据将作为标准输入发送到命令。
您必须在 crontab 条目中转义 % 字符,如下所示:
* * * * * sudo tar -cvpzf /backupfolder/user1_backup-$(date +\%Y--\%m-\%d).tar.gz /home/students/user1