shell复制除了某个文件的操作

 将app的已经写成带有日期名的日志放到归档特定目录(刨除正在记录的日志)

find $APPHOME/logs | grep -v "info.log\|debug.log\|error.log" | xargs -i  tar -cvzf -C /opt/logs/$DATE.tar.gz {}

 

日期:DATE=`date +%Y%m%d%H%M%S`

find . -name "*" |xargs cp ????

这里 xargs cp 怎么区分cp源 和 cp目的
例如:想把 查询到的文件 都copy到/home/users/中去
find . -name "*" | xargs cp /home/users/
cp命令在这里就变成:cp /home/users/ Find_file

默认从管道传来的值是放在最后的 这样的话原本想做cp源文件的值和目的目录的参数就颠倒了
xargs 有像-exec 那种 {} 的变量

-i 表示 find 传递给xargs的结果 由{}来代替 

posted @ 2018-01-03 20:42  光何  阅读(2457)  评论(0编辑  收藏  举报