日誌備份和按時間刪除日誌腳本實現
阿新 • • 發佈:2019-02-28
rsync exe 開始 分組 time 定時任務 script syn 命令 2019/2/25 星期一
" -mtime +6 -exec rm -f {} \;
例子
需求:在生產上,要把服務器日誌傳到日誌備份服務器上 生產服務器上只保留7天前的日誌 用shell腳本實現
備份腳本為
[root@xxx scripts]# cat back_log.sh
#!/bin/bash
#majihui
#backup prd3 block log to ip
#2019/2/25
/usr/bin/rsync -az /ivargo/log/* root@ip:/ivargo/prd3/$HOSTNAME/
然後做定時任務,每天淩晨1點傳到備份服務器上
刪除日誌腳本,每天晚上當時2點開始刪除
[root@xxx scripts]# cat rm_7date_log.sh #!/bin/bash #majihui #backup prd3 block log to ip #2019/2/25 find /ivargo/log/ -type f -name "*log.2*" -mtime +6 |xargs rm -f
[root@xxx scripts]# crontab -l
#backup /ivargo/log to ip:/ivargo/prd3/
0 1 * * * /bin/sh /opt/scripts/back_log.sh >/dev/null 2>&1
#rm 7date log /ivargo/log
0 2 * * * /bin/sh /opt/scripts/rm_7date_log.sh >/dev/null 2>&1
提示:需要在備份服務器上提前創建好相應的分組目錄,備份日誌的時候,需要與備份主機建立好免密登陸。
擴展:
上面的find命令還可以寫成
find /ivargo/log/ -type f -name "log.2
例子
[root@NewCDH-0--144 log]# find /ivargo/log/ -type f -name "*log*24" -exec ls -l {} \; -rw-r--r-- 1 root root 0 Feb 25 13:05 /ivargo/log/NewCDH-0--144.log.2019-02-24 -rw-r--r-- 1 root root 0 Feb 25 13:23 /ivargo/log/vpush/NewCDH-0--144.log.vpush.2019-02-24 [root@NewCDH-0--144 log]# find /ivargo/log/ -type f -name "*log*24" -exec rm -f {} \; [root@NewCDH-0--144 log]# find /ivargo/log/ -type f -name "*log*24" -exec ls -l {} \;
日誌備份和按時間刪除日誌腳本實現