歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux教程

Linux find tar -type 備份日志

這幾天系統出現一個bug,需要截取日志供研發研究:

$ ls -lrt

……

-rw-r-----   1 jrtu     jrtu     10560642  2月  8日 08:37 all.log.4
-rw-r-----   1 jrtu     jrtu     10524117  2月  8日 08:38 all.log.3
drwxr-x---   2 jrtu     jrtu         512  2月  8日 08:38 JIZ-T2000-1-P
drwxr-x---   2 jrtu     jrtu         512  2月  8日 08:39 LUY-T2000-2-P
-rw-r-----   1 jrtu     jrtu     10524828  2月  8日 08:39 all.log.2
-rw-r-----   1 jrtu     jrtu     10561217  2月  8日 08:40 all.log.1
-rw-r-----   1 jrtu     jrtu     1168256  2月  8日 08:41 jrtu.log
-rw-r-----   1 jrtu     jrtu     3541928  2月  8日 08:41 all.log

在此找到比all.log.3新的文件:

$find . -depth -newer all.log.3
./jrtu.log
./all.log
./TimeCalculate/all.log
./LUY-T2000-2-P/all.log
./LUY-T2000-2-P/all.log.1
./LUY-T2000-2-P
./LUY-T2000-1-P/all.log
……

此時看到有文件夾LUY-T2000-2-P等,如果執行下面的語句:

$find . -depth -newer all.log.3  -exec tar -cvf jrtulog.tar {} \;

我們就會把文件夾內的所有文件打包,這是不對的,我們只是要找到文件夾中比all.log.3新的文件

$find . -depth -newer all.log.3 -type f  -exec tar -cvf jrtulog.tar {} \;  ##加上-type f,即可排除排文件夾

a ./jrtu.log 1928K
a ./all.log 10110K
a ./TimeCalculate/all.log 1589K
a ./LUY-T2000-2-P/all.log 9564K
tar: ./LUY-T2000-2-P/all.log: 文件更改大小
a ./LUY-T2000-2-P/all.log.1 10270K
a ./LUY-T2000-1-P/all.log 2150K
a ./LUY-T2000-3-P/all.log 2065K
a ./LUH-T2000-1-P/all.log 1092K
a ./KAF-T2000-1-P/all.log 7066K
a ./all.log.1 10278K
a ./JIZ-T2000-1-P/all.log 6972K
a ./JIZ-T2000-2-P/all.log 7221K
a ./JIY-T2000-1-P/all.log 6843K
a ./all.log.2 10581K

最後壓縮一下:

$gzip jrtulog.tar

Copyright © Linux教程網 All Rights Reserved