设置一个 cron 任务,使用 tar 归档目录及其所有子目录(包括隐藏文件)

设置一个 cron 任务,使用 tar 归档目录及其所有子目录(包括隐藏文件)

我正在尝试/home/username/.mozilla/使用 tar 设置一个 cron 作业来存档/备份目录及其所有子目录(包括隐藏文件)。我喜欢每天晚上 12:01 运行该作业。

以下是我目前的计划:

crontab -e

1 0 * * * tar -zcf /home/username/Dropbox/Backups/Firefox_Profile_$(date +%b_%d_%Y_"%H-%M").tgz home/username/.mozilla/ && echo "Firefox profile backed up on:" `date` >> /home/username/jobs

虽然我还没有真正设置 cron 作业,但是当我在终端中运行此命令时:

tar -zcf /home/username/Dropbox/Backups/Firefox_Profile_$(date +%b_%d_%Y_"%H-%M").tgz home/username/.mozilla/

它确实创建了一个压缩档案,但在解压后,它会创建一个目录>>home及其子目录。username.mozilla

我正在寻找的是:

(1)提取后将会有或.mozilla最好mozilla(删除点),及其子目录,包括隐藏文件(没有homeusername目录)。

(2)是tar -zcf获得最大压缩的最佳方法。

(3)保留所有文件权限原样。

(4)我是否需要在此命令中使用 [user] (即“用户名”):1 0 * * * username tar -zcf

多谢。

答案1

  1. 使用该-C选项,如下所示:tar -zcC /home/username -f output.tgz .mozilla
  2. 阅读此答案
  3. 使用该-p选项。
  4. 我不懂你的问题。

答案2

发布我自己的答案,尽管 fliegendewurst 的答案对我有些帮助,但我无法完成运行 cron 作业的命令。bac0n 和 steeldriver 的评论帮助我弄清楚了其余的问题。

对我有用的是:

crontab -e

1 0 * * * tar -I 'gzip -9' -pcf /home/username/Dropbox/Backups/Firefox_Profile_$(date "+\%b_\%d_\%Y_\%H-\%M").tgz -C /home/username/ .mozilla/ && echo "Firefox profile backed up on:" `date` >> /home/username/jobs

使用选项指定 gzip 压缩级别的参考-Ihttps://superuser.com/a/1091640

注意:如果在运行此命令时 Firefox 处于打开或运行状态,您可能会收到一条正在写入文件的消息。

相关内容