k8s,nginx备份日志脚本
生活随笔
收集整理的這篇文章主要介紹了
k8s,nginx备份日志脚本
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
要求:nginx容器日志保存,每天備份一次,每個(gè)月一個(gè)文件,然后刪除六個(gè)月以前的文件
1.寫(xiě)一個(gè)腳本
#!/bin/bash date=180 #定義刪除天數(shù) date1=`date -d "1 day ago" +"%d/%b/%Y"` #定義前一天的時(shí)間,用作取日志 date2=`date -d "1 day ago" +"%Y/%m/%d"` #定義前一天的時(shí)間,用作取報(bào)錯(cuò)日志 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:類(lèi)似于for,把前一個(gè)命令執(zhí)行的結(jié)果放的這執(zhí)行,-i;指定位置{};
maxdepth 1:只在下一層目錄找
2.給權(quán)限
chmod +x 腳本名3.周期性計(jì)劃任務(wù)
#每天凌晨三點(diǎn)執(zhí)行該腳本 [root@ctl sh]# crontab -e * 3 * * * 腳本 #執(zhí)行的腳本盡量用絕對(duì)路徑總結(jié)
以上是生活随笔為你收集整理的k8s,nginx备份日志脚本的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: nginx四层端口转发
- 下一篇: VMware介绍与网络的三种模式