备份当前目录下所有前24小时被修改的文件

xiaoxiao2026-06-05  13

1 #!/bin/bash 2 3 # 备份当前目录下所有前24小时被修改的文件为一个归档压缩包(归档并且压缩) 4 # 5 6 BACKUPFILE=backup-$(date +%m-%d-%Y) 7 # 在备份文件中嵌入日期. 8 # 多谢Joshua Tschida的这个主意. 9 archive=${1:-$BACKUPFILE} 10 # 如果没有在命令行上指定备份的归档文件名, 11 #+ 会以"backup-MM-DD-YYYY.tar.gz."作为默认的文件名 12 13 tar cvf - `find . -mtime -1 -type f -print` > $archive.tar 14 gzip $archive.tar 15 echo "Directory $PWD backed up in archive file \"$archive.tar.gz\"." 16 17 18 # Stephane Chazelas指出:如果有许多文件被找到 19 #+ 或任何一个文件名中包含有空白字符 20 #+ 上面的代码将会失败. 21 22 # 他建议用下面的代码: 23 # ------------------------------------------------------------------- 24 # find . -mtime -1 -type f -print0 | xargs -0 tar rvf "$archive.tar" 25 # using the GNU version of "find". 26 27 28 # find . -mtime -1 -type f -exec tar rvf "$archive.tar" '{}' \; 29 # portable to other UNIX flavors, but much slower. 30 # ------------------------------------------------------------------- 31 32 33 exit 0
转载请注明原文地址: https://www.6miu.com/read-5049670.html

最新回复(0)