日志備份的shell腳本


  以前工作中寫的日志備份的腳本,現記錄一下日志備份腳本代碼,以后工作中遇到遇到需要備份或者清理日志的時候可以拿來簡單修改一下使用,減少工作量。

  把備份腳本添加到Linux定時任務中,可以定時執行。

  日志備份代碼如下:

#!/bin/sh
#文件名 log_backup.sh 

echo "===================================================================================="
echo 當前時間為$(date)
. ~/.bash_profile
if [ -d ${SVC_PGW_BACKUP_PATH}/SVC_BAK_LOG_files ]; then
        echo "備份文件目錄已存在"
else
        mkdir -pv ${SVC_PGW_BACKUP_PATH}/SVC_BAK_LOG_files
fi
echo "開始備份日志文件"
export LANG="en_US.UTF-8"
tarName=$(date +%Y%m%d%H%M%S) #日志打成tar.gz的文件名
undelname=$(date -I)    #以當天日期
cd $SVC_PGW_LOG_PATH   #進入log目錄
echo "顯示當前目錄  $(pwd)"
echo "已進入到日志目錄"
oldfile=$(find $SVC_PGW_LOG_PATH -type f -mtime +7 -name "*.log.*"|awk -F '.' '{if($NF!=undelname) {print $0}}' undelname=$undelname)       #查找所有帶日期的且日期不是當天的log文件
echo "所需要備份的日志文件"
echo -e $oldfile
if [ ! -n "$oldfile" ]; then
    echo "此次沒有需要備份的日志"
    echo "====================================================================================="
    exit 0
else
    echo "此次有需要備份的日志"
fi
echo "日志文件備份中。。。。。。"
tar -Pzcvf $SVC_PGW_BACKUP_PATH/SVC_BAK_LOG_files/${tarName}.tar.gz $oldfile
echo "備份日志 所存儲的具體路徑"${SVC_PGW_BACKUP_PATH}/SVC_BAK_LOG_files/${tarName}.tar.gz
if [ -f ${SVC_PGW_BACKUP_PATH}/SVC_BAK_LOG_files/${tarName}.tar.gz ]; then
    rm -rf $oldfile
    echo "backup success complete!"
else
    echo "backup fail!"
fi
echo "====================================================================================="
exit 0

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM