我使用rsync
如下:
rsync -a --backup --suffix="."$(date +"%Y%m%d%H%M")源备份
整个文件夹的转储源到该文件夹的备份,具有额外的功能,如果我修改了一些文件FOO中源,旧版本的FOO在备份将与日期后缀改名前的新富复制到备份。
这个简单的过程为我完成了这项工作,只是我希望使用日期后缀重命名已删除的文件,而不是从备份中删除。也就是说,如果FOO是从源中删除,然后重命名FOO在备份的日期后缀。
我试图实现这一目标,但迄今为止没有成功。有任何想法吗?
小智 5
添加该--backup-dir
选项应该可以满足您的需求:
--backup-dir=DIR 与 --backup 选项结合使用,这告诉 rsync 将所有备份存储在接收端的指定目录中。这可用于增量备份。您还可以使用 --suffix 选项指定备份后缀(否则指定目录中备份的文件将保留其原始文件名)。
例如
rsync -ab --backup-dir=versions --suffix="."$(date +"%Y%m%d%H%M") --delete /source/folder/ /destination/folder
Run Code Online (Sandbox Code Playgroud)
这将在 /destination/versions 创建文件的备份
来源: https: //linux.die.net/man/1/rsync
小智 1
对于增量 rsync 备份,使用 rsnapshot 工具。
示例 rsnapshot.conf
snapshot_root /backup
cmd_cp /bin/cp
cmd_rm /bin/rm
cmd_rsync /usr/bin/rsync
cmd_ssh /usr/bin/ssh
cmd_logger /usr/bin/logger
cmd_du /usr/bin/du
cmd_rsnapshot_diff /usr/bin/rsnapshot-diff
retain daily 7
retain weekly 4
verbose 2
loglevel 3
logfile /var/log/rsnapshot.log
lockfile /var/run/rsnapshot.pid
backup root@localhost:/etc/ localhost/
backup root@localhost:/home localhost/
backup root@localhost:/var/www/ localhost/
Run Code Online (Sandbox Code Playgroud)
设置 Cronjobs 自动备份:
# m h dom mon dow command
#Run Rsnapshot At 02:00 Everyday
00 02 * * * /usr/bin/rsnapshot daily
#Run Rsnapshot At 06:00 Every Sunday
00 06 * * 0 /usr/bin/rsnapshot weekly
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7687 次 |
最近记录: |