每天定时备份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日志相关推荐

  1. shell实例第21讲:定时清空文件内容,定时记录文件大小

    #!/bin/bash################################################################################# #每小时执行一 ...

  2. shell脚本采用crontab定时备份数据库日志

    测试服务器上才用定时脚本备份一个数据库 并打包压缩成tar避免文件过大 脚本如下: 测试服务器的shell backup_mysql.sh #!/bin/bash BASE_PATH=/alidata ...

  3. shell实例第22讲:shell中分隔符IFS用法

    shell中分隔符IFS用法 1.什么是IFS? IFS在shell中是分隔符的意思,即IFS这个变量中存放了分隔符. 2.IFS是全局变量还是局部变量? (1)linux中变量分两种:全局变量env ...

  4. shell实例第20讲:linux shell date的用法

    linux shell date的用法 转自:https://www.cnblogs.com/faberbeta/p/linux-shell002.html 1.date中的参数 %% 一个文字的 % ...

  5. shell实例第18讲:利用gzexe加密shell脚本

    利用gzexe加密shell脚本 gzexe_test.sh内容如下: #!/bin/bashecho "gzexe test!" 结果: 使用gzexe加密shell脚本命令:g ...

  6. shell实例第19讲:一个脚本中调用另一个脚本的3种方法

    在Shell脚本中调用另一个脚本(3种方法) 准备:主脚本是second.sh,主脚本中调用first.sh 方法1:exec(1)执行方式:exec /home/weibo/shell_test/s ...

  7. shell实例第13讲:从FTP服务器下载文件

    #!/bin/bash #作者:魏波 #时间:2017.02.04if [ $# -ne 1 ]; thenecho "Usage: $0 filename" fi dir=$(d ...

  8. shell实例第0讲:shell脚本完整pdf文档下载

    shell脚本完整pdf文档下载 链接:https://pan.baidu.com/s/10NTBAHv0zyP-wDnlblVvLg 提取码:6myf shell脚本完整pdf文档目录如下:

  9. shell实例第9讲:判断用户输入的是否为IP地址

    #!/bin/bash #作者:魏波 #时间:2017.02.04function check_ip(){IP=$1VALID_CHECK=$(echo $IP|awk -F. '$1<=255 ...

最新文章

  1. 【代码片段】如何使用CSS来快速定义多彩光标
  2. 微信和支付宝中的一些常用方法封装
  3. delphi socket 流的使用_Socket
  4. socket第三方库 AsyncSocket(GCDAsyncSocket)
  5. 步步为营 .NET 设计模式学习笔记 三、Strategy(策略模式)
  6. kelley c语言教程 机械工业出版社,北京工业大学2020年考研893软件工程学科专业基础考试大纲...
  7. QQ登录之后自动弹出“QQ网吧”怎么屏蔽?
  8. 自然语言处理入门(一)--搜狗新闻语料处理和word2vec词向量的训练
  9. 一般对称性和轮换对称性
  10. 修改火狐浏览器滚动条样式
  11. mysql自定义函数实现
  12. 【USB网络摄像头】基于mjpeg-streamer的视频采集与播放【QT上位机软件】
  13. 深度解析JavaScript原型链
  14. print函数的学习与总结
  15. 1985年全国计算机编程大赛,关于举办2021年“中国高校计算机大赛-团体程序设计天梯赛”校内选拔赛的通知...
  16. H3CS-WLAN 无线工程师认证-郝文凯-专题视频课程
  17. Drupal 7 模块开发 建立模块 第一个页面(hook_menu)
  18. ROS下DWA配置和A*配置
  19. SOLID Design Principles in C#
  20. Android之标准体重计算器

热门文章

  1. 【iOS 开发】基本 UI 控件详解 (UIButton | UITextField | UITextView | UISwitch)
  2. 数据库中范式的理解1NF、2NF、3NF
  3. JavaWeb手机短信实现前台利用JS获取随机验证码,倒计时效果
  4. 数据结构与算法JavaScript描述——链表
  5. telnet命令的使用
  6. iOS开发UI篇--UIScrollView思维导图[不断更新]
  7. POJ 1523 SPF
  8. silver light
  9. Adobe与Facebook联手推出Flash开发工具
  10. 为什么大多Virtual Globe程序纵向旋转效率比较低