2019年2月10日 星期日

結合find 與 mv指令 將Log壓縮後移至特定目錄

  
  #!/bin/sh 
#宣告資料夾變數 
WEBAPDIR=/webap/appserver/apache-tomcat-8.0.36/ 
SMSLOGDIR=/smslogs/ 
  
#在該資料夾下找5天前,且附檔名為txt或log的檔案,並執行Gzip壓縮 
find $WEBAPDIR/logs -mtime +5 -type f -regex ".*\.\(txt\|log\)$" -exec gzip {} \; 
sleep 3 
  
#在該資料夾下找5天前,且檔名為catalina.out前綴,並執行Gzip壓縮 
find $$WEBAPDIR/logs/ -mtime +5 -type f -name "catalina.out-*" ! -name "*.gz" -exec gzip {} \; 
sleep 3 
  
  
#在該資料夾下找5天前,且附檔名為txt或log的檔案,並執行Gzip壓縮 
find $SMSLOGDIR -mtime +5 -type f -regex ".*\.\(txt\|log\)$" -exec gzip {} \; 
sleep 3 
  
  
#將下列目錄壓縮好的*.gz檔移動至以下路徑 
#1. /webap/appserver/apache-tomcat-8.0.36/logs -> /LOG/tomcat_logs 
#2. /smslogs -> /LOG/smslogs 
  
mv $WEBAPDIR/logs/*.gz  /LOG/tomcat_logs 
mv $SMSLOGDIR/*.gz /LOG/smslogs/ 
  
#crontab排程範例:(指令 crontab -e) 
0 1 * * * /script/CompressLogs.sh > /dev/null 2>&1 
  

沒有留言:

張貼留言