3 回答

TA貢獻(xiàn)1816條經(jīng)驗(yàn) 獲得超6個(gè)贊
Linux下,nfs日志,有很多文件夾,一個(gè)文件夾下又分有很多年份的日志文件,有2017,2018,2019年。我想把2017年的分割開來,并把它打包壓縮,做一個(gè)定時(shí)的備份。但是那個(gè)文件在哪個(gè)目錄分隔開后還是在哪個(gè)目錄。比如:”test2017-4-23.log”在、/home/nfs/logs/aaa/test2017-4-23.log目錄下,分隔開后壓縮還是在“aaa”目錄下。省事一點(diǎn),腳本咋寫?

TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超4個(gè)贊
是要find命令 找出所有 2017的日志文件,然后按實(shí)際目錄再創(chuàng)建出新的目錄結(jié)構(gòu),并且復(fù)制到新目錄下,最后對新的目錄進(jìn)行整體打包處理
mkidr
/backup
for
abc
in
$(
find
/home/nfs/logs
-name
"*2017-*.log"
)
do
path=${abc
##*/}
path=$(
echo
$abc |
sed
s:$path::g)
mkdir
-p
/backup/
$path
cp
$abc
/backup/
$path
done
tar
-zcvf logs.
tar
/backup/logs

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超13個(gè)贊
如果你的日志文件名稱里包含2017字樣的話,那么先切換到這個(gè)日志目錄下,假設(shè)是/var/log/test/目錄,切換命令是
cd /var/log/test/
然后執(zhí)行查找命令
ls ./*/*2017*
就可以找到所有2017年的文件了。
添加回答
舉報(bào)