k8s,nginx备份日志脚本
生活随笔
收集整理的這篇文章主要介紹了
k8s,nginx备份日志脚本
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
要求:nginx容器日志保存,每天備份一次,每個月一個文件,然后刪除六個月以前的文件
1.寫一個腳本
#!/bin/bash date=180 #定義刪除天數 date1=`date -d "1 day ago" +"%d/%b/%Y"` #定義前一天的時間,用作取日志 date2=`date -d "1 day ago" +"%Y/%m/%d"` #定義前一天的時間,用作取報錯日志 date3=`date +"%Y-%m"` ? #定義年月用作壓縮后綴 date4=`date +"%Y-%m-%d"` #定義每天的日志文件 kubectl get pods -o wide |grep nginx|awk '{print $1}'|xargs -i kubectl exec -it {} -- grep $date1 /data/logs/nginx/access.log >> /data/nginx/access-$date4.log kubectl get pods -o wide |grep nginx|awk '{print $1}'|xargs -i kubectl exec -it {} -- grep $date2 /data/logs/nginx/error.log >> /data/nginx/error-$date4.log find /data/nginx/ -maxdepth 1 -type f -mtime +${date} -exec rm {} \; #壓縮文件并刪除源文件每天追加一次 zip -um access-$date3.log.zip access-$date4.log zip -um error-$date3.log.zip error-$date4.log?xargs:類似于for,把前一個命令執行的結果放的這執行,-i;指定位置{};
maxdepth 1:只在下一層目錄找
2.給權限
chmod +x 腳本名3.周期性計劃任務
#每天凌晨三點執行該腳本 [root@ctl sh]# crontab -e * 3 * * * 腳本 #執行的腳本盡量用絕對路徑總結
以上是生活随笔為你收集整理的k8s,nginx备份日志脚本的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: nginx四层端口转发
- 下一篇: VMware介绍与网络的三种模式