docker 内cron建立定时任务完成nginx 日志轮询切割
来源:互联网 发布:深圳缇嘉服饰淘宝店铺 编辑:程序博客网 时间:2024/06/05 12:08
如果nginx安装在宿主机上,可以直接执行crontab -e 给脚本添加定时任务即可。
如果nginx安装在docker容器中,就需要事先执行以下步骤:
1.安装crontab:
[root@CentOS ~]# yum install vixie-cron
[root@CentOS ~]# yum install crontabs
2.启动crond服务
/sbin/service crond start //启动服务
/sbin/service crond stop //关闭服务
/sbin/service crond restart //重启服务
/sbin/service crond reload //重新载入配置
3.编写脚本
#!/bin/sh
Dateformat=$(date +%Y%m%d)
Basedir="/usr/local/nginx"
Nginxlogdir="$Basedir/logs"
Logname="access"
[ -d $Nginxlogdir ] && cd$Nginxlogdir || exit 1
[ -f ${Logname}.log ] || exit 1
/bin/mv ${Logname}.log${Dateformat}_${Logname}.log
$Basedir/sbin/nginx -s reload
4.crontab -e 添加用户操作
20 11 * * * /server/scripts/cut_nginx_log.sh
每天11点20分自动执行该脚本
5.设置/etc/pam.d/crond文件
由于镜像最简化安装,所以crond程序是无日志的,此时等待几分钟时间是无法出现Date+access.log文件的,由此判断crond程序没有正常工作,我们需要修改文件如下:
# cat /etc/pam.d/crond
#session required pam_loginuid.so #注释此行修改成下一行
session sufficient pam_loginuid.so
# /etc/init.d/crond restart
Stopping crond: [ OK ]
Starting crond: [ OK ]
问题解决。
- docker 内cron建立定时任务完成nginx 日志轮询切割
- 定时任务完成日志切割
- nginx(日志管理之日志的使用、定时任务完成日志切割)
- linux CentOS7 下 Nginx 1.13.7 日志管理(定时任务完成日志切割)
- Linux 定时切割日志任务
- nginx日志定时切割脚本
- 每天定时切割nginx日志
- Nginx日志定时切割脚本
- 编写定时切割Nginx日志脚本
- 每天定时切割nginx日志的脚本
- Linux下nginx日志每天定时切割
- Nginx 访问日志轮询切割脚本
- 定时任务分割nginx日志
- (4)nginx:日志以及定时切割日志小例子
- 定时任务cron
- linux定时任务cron
- Linux定时任务cron
- centos定时任务cron
- 如何解压.gz的压缩文件
- const
- Docker 的 MySQL 官方镜像如何设置时区
- Dagger2和MVP的结合
- LAJP框架简易配置步骤
- docker 内cron建立定时任务完成nginx 日志轮询切割
- 根据VIEW创建数据源涉及参考表
- chrome调试工具常用功能整理
- 延迟加载的单例设计模式
- MyBatis, MyBatis-Spring 常用访问数据库的方式
- Fragment碎片切换
- POJ 2417 Discrete Logging【大步小步
- Django几个小错误
- UVA 11440