rsync - 排除某个文件扩展名,除非压缩

rsync - 排除某个文件扩展名,除非压缩

目前我有一个每周调用一次的cron预定脚本:.shrsync

DAY0=`date -I`
DAY1=`date -I -d "1 week ago"`
rsync -aAXv --delete --link-dest=/media/backup/$DAY1 / --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/backup","/lost+found","*.SAM","*.BAM"} /media/backup/$DAY0

我想排除任何带有.fastq扩展名的文件,但包含“.fastq.gz”。这是对系统其余部分正常备份的补充。

如何做呢?

答案1

而不是排除每个文件类型想要的,请包括您确实想要的:

rsync ...other rsync options... \
    --include='*.fasta.gz' --exclude='*' source/ destination/

您可能还想使用--one-filesystem( -x) 选项来停止rsync遍历源目录所在文件系统之外的其他文件系统。

或者,*.fasta.gz在包含模式中指定,然后*.fasta在排除模式中指定。


对于备份,我建议使用类似borgbackup(可能与borgmatic)或restic代替的东西rsync。这些都消除了重复数据,从而使备份占用的空间少得多。

相关内容