日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

shell实例第23讲:每天定时备份nginx日志

發布時間:2025/6/15 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 shell实例第23讲:每天定时备份nginx日志 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

???????????? 每天定時備份nginx日志

要求

每天凌晨3點開始備份nginx日志

一、編寫日志切割腳本

#!/bin/bashLOG_DIR=/usr/local/webserver/nginx/logs/YESTERDAY_TIME=$(date -d "Yesterday Time" +%F)LOG_MONTH_DIR=$LOG_DIR/$(date +"%Y-%m")LOG_FILE_LIST="access.log"for LOG_FILE in $LOG_FILE_LIST do[ ! -d $LOG_MONTH_DIR ] && mkdir -p $LOG_MONTH_DIRmv $LOG_DIR/$LOG_FILE $LOG_MONTH_DIR/${LOG_FILE}_${YESTERDAY_TIME}done

說明:
(1)date + %F顯示完整日期格式,等價于date +"%Y-%m-%d"(2015-12-07)
(2)參數-d:顯示字符串所指的日期與時間,字符串前后必須加上雙引號。例如:

date -d "1 day ago" +"%Y-%m-%d" 輸出:2015-11-19 date -d "2 second" +"%Y-%m-%d %H:%M.%S" 輸出:2015-11-20 14:21.31

(3)! -d $LOG_MONTH_DIR表示如果LOG_MONTH_DIR目錄不存在

-e filename 如果 filename存在,則為真-d filename 如果 filename為目錄,則為真 -f filename 如果 filename為常規文件,則為真-L filename 如果 filename為符號鏈接,則為真-r filename 如果 filename可讀,則為真 -w filename 如果 filename可寫,則為真 -x filename 如果 filename可執行,則為真-s filename 如果文件長度不為0,則為真-h filename 如果文件是軟鏈接,則為真filename1 -nt filename2 如果 filename1比 filename2新,則為真。filename1 -ot filename2 如果 filename1比 filename2舊,則為真。

(4)mkdir -p :遞歸創建目錄,即使上級目錄不存在,會按目錄層級自動創建目錄。

二、配置系統定時任務/etc/crontab

每天凌晨3點執行切割日志

* 3 * * * /home/weibo/nginx_log_day.sh

說明:如何配置定時任務/etc/crontab

  *  *  *  *  *  command分 時  日  月  周  命令第1列表示分鐘1~59 每分鐘用*或者 */1表示第2列表示小時1~23(0表示0點) //例:第3列表示日期1~31第4列表示月份1~12第5列標識號星期0~6(0表示星期天)第6列要運行的命令

例子:

30 21 * * * /usr/local/etc/rc.d/lighttpd restart (每晚的21:30重啟lighttpd ) 45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart (每月1、10、22日的4 : 45重lighttpd) 10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart (每周六、周日的1 : 10重啟lighttpd) 0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart (在每天18 : 00至23 : 00之間每隔30分鐘重啟lighttpd) 0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart (每星期六的11 : 00 pm重啟lighttpd) * 6 * * * command (表示每天6點執行) * */6 * * * command (表示每過6個小時執行)

?

總結

以上是生活随笔為你收集整理的shell实例第23讲:每天定时备份nginx日志的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。