Linux 按当前日期创建tar文件命名备份从不运行
我使用下面的命令为我的文件做每日备份Linux 按当前日期创建tar文件命名备份从不运行,linux,cron,tar,Linux,Cron,Tar,我使用下面的命令为我的文件做每日备份 0 0 * * * tar czf /var/backups/file_$(date +%Y-%m-%d).tar.gz /home/files 我的cron日志显示 11月26日11:00:01 CROND[16646]:(root)CMD(tar czf/var/backups/file_$(date+) 而且我从来没有备份过我的文件,我在这里的命令中遗漏了什么字符%在crontab文件中有一个特殊的含义。它表示换行符。转义%字符,命令应该按预期工作
0 0 * * * tar czf /var/backups/file_$(date +%Y-%m-%d).tar.gz /home/files
我的cron日志显示
11月26日11:00:01 CROND[16646]:(root)CMD(tar czf/var/backups/file_$(date+)
而且我从来没有备份过我的文件,我在这里的命令中遗漏了什么字符
%
在crontab文件中有一个特殊的含义。它表示换行符。转义%
字符,命令应该按预期工作
因此,不是:
0 0 * * * tar czf /var/backups/file_$(date +%Y-%m-%d).tar.gz /home/files
使用:
大多数现代的cron守护进程不会将\
传递到shell。如果发生这种情况,您可能需要将备份命令放在单独的脚本中,然后从crontab调用它(这样cron守护进程就不会解释%
字符)
因此,在/usr/local/cronscipts/my backup script
中插入以下内容:
#!/bin/sh
tar czf /var/backups/file_$(date +%Y-%m-%d).tar.gz /home/files
然后修改cronjob以调用该脚本:
0 0 * * * /usr/local/cronscripts/my-backup-script.
当然,这里的文件名和路径只是示例。请使用最适合您的文件名和路径,并记住至少为脚本提供正确的权限,即0700
0 0 * * * /usr/local/cronscripts/my-backup-script.