gpt4 book ai didi

linux - 创建按当前日期命名的 tar 文件备份永远不会运行

转载 作者:太空狗 更新时间:2023-10-29 11:27:25 25 4
gpt4 key购买 nike

我正在使用以下命令对我的文件进行每日备份

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

使用:

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。

关于linux - 创建按当前日期命名的 tar 文件备份永远不会运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20210624/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com