linux中如何将最近10天被修改过的所有文件复制到/backup 5
2014-12-28
展开全部
这个是备份当前目录下的10天内修改的所有文件的脚本,你可以自己研究一下子。注释写的很详细
# 在一个经过tar和gzip处理过的文件目录中
# 备份10天当前目录下所有修改的文件.
BACKUPFILE=backup-$(date +%m-%d-%Y)
# 在备份文件中嵌入时间.
archive=${1:-$BACKUPFILE}
# 如果在命令行中没有指定备份文件的文件名,
# 那么将默认使用"backup-MM-DD-YYYY.tar.gz".
tar cvf - `find . -mtime -10 -type f -print` > $archive.tar
# ‘’内是find命令:.表示当前路径,
#+ -mtime -10表示那些最近10*24小时内被修改的文件,
#+ -type f表示一般的文件,
#+ -print 在标准输出中打印完整的文件名
gzip $archive.tar
echo "Directory $PWD backed up in archive file \"$archive.tar.gz\"."
# 上边代码,#+ 如果在发现太多的文件的时候,或者是如果文件
#名包括空格的时候,将执行失败.
# Stephane Chazelas建议使用下边的两种代码之一
# -------------------------------------------------------------------
# find . -mtime -1 -type f -print0 | xargs -0 tar rvf "$archive.tar"
# -print0 在标准输出中打印完整的文件名,随后跟一个null字符,
# 对应了xargs命令中的‘-0’选项.
# 使用gnu版本的find.
# find . -mtime -1 -type f -exec tar rvf "$archive.tar" '{}' \;
# 对于其他风格的UNIX便于移植,但是比较慢.
# -------------------------------------------------------------------
exit 0
#####################End Script#####################
展开全部
find . -mtime 10 -daystart -exec cp -a {} /backup \;
解释:
-mtime 10 -daystart:从现在起最近10天内修改过的文件
-exec:指定一条新命令
cp -a:递归复制
/backup:想要复制到的的目的目录
\;:为-exec命令的结尾标记符号
解释:
-mtime 10 -daystart:从现在起最近10天内修改过的文件
-exec:指定一条新命令
cp -a:递归复制
/backup:想要复制到的的目的目录
\;:为-exec命令的结尾标记符号
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询