LINUX 自動備份程式日誌(shell)
定期備份指令碼案列
用tar壓縮7天前日誌
刪除7天壓縮完日誌
刪除壓縮完356天前日誌
#!/bin/bash
#delete expire log
#script name drop_log
#script default remove 7 day log and remove remove archived a year ago
#make date 2015/06/15
result_client=`find /orafile/app/smsclient/runlogs/ -mtime +7 -name "*log.*"|awk -F '/' '{print $6}'`
result_server=`find /orafile/app/smsserver/runlogs/ -mtime +7 -name "*log.*"|awk -F '/' '{print $6}'`
a=`echo $result_client|wc -c`
b=`echo $result_server|wc -c`
if [ $a -gt 1 ] ; then #判斷有沒有壓縮記錄
#for log_list in $result_client
#do
#auto_seq=$((auto_seq+1))
rj=`date +%Y%m%d`
if [ -f /orafile/runlogs/client$rj.tar.gz ] ; then #判斷檔案有沒有存在
echo "file already exists"
else
cd /orafile/app/smsclient/runlogs/
tar -czvf /orafile/runlogs/client$rj.tar.gz $result_client >/dev/null #這裡指定壓縮路徑
RESULT=$?
if [ $RESULT -eq 0 ] ; then
echo "client log The backup successful"
else
echo "client log The backup failed"
fi
if [ $RESULT -eq 0 ] ; then
cd /orafile/app/smsclient/runlogs/ #切換要刪除目錄
rm -f $result_client #刪除已經壓縮日誌
RESULT=$?
if [ $RESULT -eq 0 ] ; then
echo "client log The delete successful"
else
echo "client log The delete failed"
fi
fi
fi
#done
else
echo "There is no backup"
fi
if [ $b -gt 1 ] ; then #判斷有沒有壓縮記錄
#for log_list_1 in $result_server
#do
#auto_1_seq=$((auto_1_seq+1))
if [ -f /orafile/runlogs/server$rj.tar ] ; then #判斷檔案有沒有存在
echo "file already exists"
else
cd /orafile/app/smsserver/runlogs/
tar -czvf /orafile/runlogs/server$rj.tar.gz $result_server >/dev/null #這裡指定壓縮路徑
RESULT=$?
if [ $RESULT -eq 0 ] ; then
echo "server log The backup successful"
else
echo "server log The backup failed"
fi
if [ $RESULT -eq 0 ] ; then
cd /orafile/app/smsserver/runlogs/ #切換要刪除目錄
rm -f $result_server #刪除已經壓縮日誌
RESULT=$?
if [ $RESULT -eq 0 ] ; then
echo "server log The delete successful"
else
echo "server log The delete failed"
fi
fi
fi
#done
else
echo "There is no backup"
fi
RESULT=$?
if [ $RESULT -eq 0 ] ; then
find /orafile/runlogs/ -mtime +365 -name "*.tar" -exec rm -f {} \; #修改要刪除壓縮備份路徑預設365天
else
echo "remove archived a year ago failed"
fi
用tar壓縮7天前日誌
刪除7天壓縮完日誌
刪除壓縮完356天前日誌
#!/bin/bash
#delete expire log
#script name drop_log
#script default remove 7 day log and remove remove archived a year ago
#make date 2015/06/15
result_client=`find /orafile/app/smsclient/runlogs/ -mtime +7 -name "*log.*"|awk -F '/' '{print $6}'`
result_server=`find /orafile/app/smsserver/runlogs/ -mtime +7 -name "*log.*"|awk -F '/' '{print $6}'`
a=`echo $result_client|wc -c`
b=`echo $result_server|wc -c`
if [ $a -gt 1 ] ; then #判斷有沒有壓縮記錄
#for log_list in $result_client
#do
#auto_seq=$((auto_seq+1))
rj=`date +%Y%m%d`
if [ -f /orafile/runlogs/client$rj.tar.gz ] ; then #判斷檔案有沒有存在
echo "file already exists"
else
cd /orafile/app/smsclient/runlogs/
tar -czvf /orafile/runlogs/client$rj.tar.gz $result_client >/dev/null #這裡指定壓縮路徑
RESULT=$?
if [ $RESULT -eq 0 ] ; then
echo "client log The backup successful"
else
echo "client log The backup failed"
fi
if [ $RESULT -eq 0 ] ; then
cd /orafile/app/smsclient/runlogs/ #切換要刪除目錄
rm -f $result_client #刪除已經壓縮日誌
RESULT=$?
if [ $RESULT -eq 0 ] ; then
echo "client log The delete successful"
else
echo "client log The delete failed"
fi
fi
fi
#done
else
echo "There is no backup"
fi
if [ $b -gt 1 ] ; then #判斷有沒有壓縮記錄
#for log_list_1 in $result_server
#do
#auto_1_seq=$((auto_1_seq+1))
if [ -f /orafile/runlogs/server$rj.tar ] ; then #判斷檔案有沒有存在
echo "file already exists"
else
cd /orafile/app/smsserver/runlogs/
tar -czvf /orafile/runlogs/server$rj.tar.gz $result_server >/dev/null #這裡指定壓縮路徑
RESULT=$?
if [ $RESULT -eq 0 ] ; then
echo "server log The backup successful"
else
echo "server log The backup failed"
fi
if [ $RESULT -eq 0 ] ; then
cd /orafile/app/smsserver/runlogs/ #切換要刪除目錄
rm -f $result_server #刪除已經壓縮日誌
RESULT=$?
if [ $RESULT -eq 0 ] ; then
echo "server log The delete successful"
else
echo "server log The delete failed"
fi
fi
fi
#done
else
echo "There is no backup"
fi
RESULT=$?
if [ $RESULT -eq 0 ] ; then
find /orafile/runlogs/ -mtime +365 -name "*.tar" -exec rm -f {} \; #修改要刪除壓縮備份路徑預設365天
else
echo "remove archived a year ago failed"
fi
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29065182/viewspace-1972575/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux自動備份MySQLLinuxMySql
- Linux伺服器日誌備份到本地Linux伺服器
- shell 備份檔案指令碼+自動清理指令碼
- Linux下Mysql定時自動備份LinuxMySql
- Linux Shell互動式自動化運維程式Linux運維
- windows/linux自動備份mysql並刪除7天前的備份WindowsLinuxMySql
- linux實現mysql資料庫每天自動備份定時備份LinuxMySql資料庫
- 自動定時備份 mysql 資料庫 的 shell 指令碼MySql資料庫指令碼
- MySQL 日誌管理、備份與恢復MySql
- MySQL日誌管理,備份和恢復MySql
- linux自動清理Docker標準輸出日誌LinuxDocker
- oracle rman備份歸檔日誌需要先切換日誌嗎Oracle
- mysqldump全量備份+mysqlbinlog二進位制日誌增量備份MySql
- 使用 GitHub Actions 自動備份程式碼倉Github
- 基於Linux指令碼,對日誌進行定時壓縮備份Linux指令碼
- 自動備份指令碼指令碼
- GitLab的自動備份、清理備份與恢復Gitlab
- Oracle設定多個歸檔路徑生成多份歸檔日誌,Rman備份時也只備份其中的一份歸檔日誌Oracle
- Linux動態列印kernel日誌Linux
- 手工rm刪除歸檔日誌對備份歸檔日誌的影響
- RMAN備份整庫和歸檔日誌的方法
- linux中用shell指令碼對tomcat和nginx做日誌切割Linux指令碼TomcatNginx
- Linux系統配置檔案簡易shell備份指令碼Linux指令碼
- changelog 日誌自動生成外掛
- 用友U8設定了自動備份,備份失效
- oracle自動冷備份指令碼Oracle指令碼
- 使用 restic 和 systemd 自動備份REST
- RMAN自動備份任務新增
- Mysql資料庫自動備份MySql資料庫
- 使用 shell 命令統計日誌
- shell日誌顏色處理
- Oracle使用備份檔案集恢復歸檔日誌Oracle
- MySQL自動備份指令碼30天自動刪除MySql指令碼
- 每天自動備份Oracle資料庫Oracle資料庫
- linux日誌管理Linux
- 使用shell 指令碼備份資料指令碼
- EDP .Net開發框架--自動化日誌框架
- Docker 日誌自動輪轉和清理配置Docker
- 【python介面自動化】- logging日誌模組Python