如何查看linux crontab 日志的日志记录

网页设计教程与开发
提供各种常见网页效果
提供各种各样的设计教程
装扮QQ,让QQ变得更酷
设计参考,提高自升水平
学习服务器和操作系统
提供各种素材和工具
收藏学习资料
您现在的位置:&&>>&&>>&&>>&正文
nginx访问日志并删除指定天数前的日志记录配置方法
操作系统:CentOS
站点1:bbs.jb51.net
站点2:sns.jb51.net
Nginx安装路径:/usr/local/nginx
Nginx配置文件路径:/usr/local/nginx/conf/nginx.conf
站点1配置文件路径:/usr/local/nginx/conf/vhost/bbs.jb51.net.conf
站点2配置文件路径:/usr/local/nginx/conf/vhost/sns.jb51.net.conf
1、对站点1和站点2的nginx访问日志按天保存,日志路径为:
站点1:/usr/local/nginx/logs/nginx_logs/bbs_logs
站点2:/usr/local/nginx/logs/nginx_logs/sns_logs
2、只保留30天以内的日志记录
具体操作:
1、创建日志存放路径. 代码如下:mkdir -p& /usr/local/nginx/logs/nginx_logs/bbs_logsmkdir -p& /usr/local/nginx/logs/nginx_logs/sns_logs
2、设置Nginx日志记录格式
编辑vi /usr/local/nginx/conf/nginx.conf . 代码如下:log_format& main& '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';
取消日志记录格式前面的注释,在最后添加一行,如下所示:. 代码如下:log_format& main& '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"''$http_host $upstream_status $upstream_addr $request_time $upstream_response_time';& #新添加的一行:wq!& #保存退出
3、设置虚拟主机配置文件
编辑vi /usr/local/nginx/conf/vhost/bbs.jb51.net.conf& #,在bbs.jb51.这一行下面添加. 代码如下:access_log& logs/bbs_access.log&& #注意这里的main要和上一步中的main一致:wq!& #保存退出
编辑vi /usr/local/nginx/conf/vhost/sns.jb51.net.conf ,在sns.jb51.这一行下面添加. 代码如下:access_log& logs/sns_access.log&& #注意这里的main要和上一步中的main一致
. 代码如下::wq!& #保存退出service nginx reload& #重新加载nginx配置文件
4、创建Nginx日志切割脚本
编辑vi /home/crontab/cut_nginx_log.sh. 代码如下:#!/bin/shlogs_path="/usr/local/nginx/logs/"DAYS=30mv ${logs_path}bbs_access.log& ${logs_path}nginx_logs/bbs_logs/bbs_access_$(date -d "yesterday" +"%Y%m%d").logmv ${logs_path}sns_access.log& ${logs_path}nginx_logs/sns_logs/sns_access_$(date -d "yesterday" +"%Y%m%d").logkill -USR1 `cat /usr/local/nginx/logs/nginx.pid`find ${logs_path}nginx_logs/bbs_logs/& -name "bbs_access_*" -type f -mtime +$DAYS -exec rm {} \;find ${logs_path}nginx_logs/sns_logs/& -name "sns_access_*" -type f -mtime +$DAYS -exec rm {} \;
. 代码如下::wq!& #保存退出chmod +x /home/crontab/cut_nginx_log.sh& #添加脚本执行权限
5、添加任务计划,修改/etc/crontab
vi /etc/crontab在最后一行添加. 代码如下:0 0 * * * root /home/crontab/cut_nginx_log.sh& #表示每天凌晨执行:wq!& #保存退出
6、重新启动crond使设置生效. 代码如下:/etc/rc.d/init.d/crond restart&& #yum install -y vixie-cron安装计划任务,某些系统上可能没有预装chkconfig crond on #设为开机启动service crond start #启动
每天会在/usr/local/nginx/logs/nginx_logs/bbs_logs和/usr/local/nginx/logs/nginx_logs/sns_logs
目录下生成类似bbs_access_.log和bbs_access_.log的日志文件
并且只保留最近30天的日志记录
至此,Linux下定时切割Nginx访问日志并删除指定天数前的日志记录完成。
备注:如果脚本在执行过程中出现下面错误. 代码如下:nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed
解决办法:. 代码如下:/usr/local/nginx/sbin/nginx -c& /usr/local/nginx/conf/nginx.conf#使用nginx -c的参数指定nginx.conf文件的位置
扩展阅读:Nginx访问日志参数说明. 代码如下:192.168.21.1 - - [27/Jan/:53 +0800] "GET /2.php HTTP/1.1" 200 133 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1707.0 Safari/537.36" "-"192.168.21.128 200 127.0.0.1: 0.119
$remote_addr:客户端地址& 192.168.21.1
$remote_user:客户端用户 -
$time_local:时间和时区&& 27/Jan/:53 +0800
$request:请求的URL路径和HTTP协议&& GET /2.php HTTP/1.1
$status: HTTP状态& 200
$body_bytes_sent:发送给客户端页面大小& 133
$http_referer:页面跳转来源 -
$http_user_agent:用户访问终端& Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1707.0 Safari/537.36
$http_x_forwarded_for:HTTP 代理中,请求端真实IP -
$http_host:用户在浏览器中输入的URL(IP或着域名)地址& 192.168.21.128
$upstream_status: upstream状态&&& 200
$upstream_addr: 后端upstream地址及端口& 127.0.0.1:9000
$request_time: 页面访问总时间& 0.119
$upstream_response_time:页面访问中upstream响应时间&& 0.119
转载请注明:破洛洛(谢谢合作)
上一篇文章: 下一篇文章:
网友评论:如何设置crontab,定时归档删除7天之前的日志文件
[问题点数:40分]
如何设置crontab,定时归档删除7天之前的日志文件
[问题点数:40分]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
2014年7月 Linux/Unix社区大版内专家分月排行榜第三2003年2月 C/C++大版内专家分月排行榜第三
2014年6月 Linux/Unix社区大版内专家分月排行榜第二2014年1月 Linux/Unix社区大版内专家分月排行榜第二2013年11月 Linux/Unix社区大版内专家分月排行榜第二2010年6月 Windows专区大版内专家分月排行榜第二2010年4月 Windows专区大版内专家分月排行榜第二2010年3月 Windows专区大版内专家分月排行榜第二2009年12月 Windows专区大版内专家分月排行榜第二2009年11月 Windows专区大版内专家分月排行榜第二2008年7月 Windows专区大版内专家分月排行榜第二2008年1月 Windows专区大版内专家分月排行榜第二2007年12月 Windows专区大版内专家分月排行榜第二2007年11月 Windows专区大版内专家分月排行榜第二2007年10月 Windows专区大版内专家分月排行榜第二2007年6月 Windows专区大版内专家分月排行榜第二
2014年7月 Linux/Unix社区大版内专家分月排行榜第三2014年4月 Linux/Unix社区大版内专家分月排行榜第三2013年1月 Linux/Unix社区大版内专家分月排行榜第三2010年5月 Windows专区大版内专家分月排行榜第三2009年9月 Windows专区大版内专家分月排行榜第三2009年8月 Windows专区大版内专家分月排行榜第三2008年8月 Windows专区大版内专家分月排行榜第三2008年6月 Windows专区大版内专家分月排行榜第三2007年9月 Windows专区大版内专家分月排行榜第三2007年7月 Windows专区大版内专家分月排行榜第三2007年4月 Windows专区大版内专家分月排行榜第三
匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。收藏,1.2k 浏览
问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
crontab 执行的脚本任务,脚本中每条指令的执行结果需要记录下来存档,有办法吗?
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
bash 输入输出重定向
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
1 * * * * /path/to/shell/script && /path/to/log/file
同步到新浪微博
分享到微博?
与我们一起探索更多的未知
专业的开发者技术社区,为用户提供多样化的线上知识交流,丰富的线下活动及给力的工作机会
加入只需一步
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
举报理由:
推广(招聘、广告、SEO 等)方面的内容
带有人身攻击、辱骂、仇恨等违反条款的内容
与已有问题重复(请编辑该提问指向已有相同问题)
不友善内容
答非所问,不符合答题要求
其他原因(请补充说明)
补充说明:
扫扫下载 App
SegmentFault
一起探索更多未知Linux计划任务Crontab学习笔记(4):crontab 的日志
这篇文章主要介绍了Linux计划任务Crontab学习笔记(4):crontab 的日志,本文讲解了日志的文件位置、查看今天的 cron 的日志方法、查看Root用户mail中日志的方法等内容,需要的朋友可以参考下
/var/log/cron 文件保存 cron 的任务执行记录代码如下:cd /var/log/ls -l cron*会发现每天都会有 cron 日志的变化
使用代码如下:tail -f cron能够查看今天的 cron 的日志:
使用代码如下:cat /etc/crontab可以看到
MAILTO=root 表示在执行某一个 crontab 命令或者任务的时候,都会生成一个记录信息发送给 root 用户
查看 root 的 mail代码如下:[root@localhost cron]# cd /var/spool/mail[root@localhost mail]# pwd/var/spool/mail[root@localhost mail]# lsdee
rpc[root@localhost mail]# tail -100 root可以看到每一个执行的命令都会以邮件的方式发送给用户,
此处能够看到一定的 cron 相关的命令。主要是日志还是在 /var/log/cron 下。当前访客身份:游客 [
这个人很懒,啥也没写
:引用来自“子弹兄”的评论propertychange是什么?...
:引用来自“Aaron74316”的评论redhat9? 不好意思...
:redhat9?
:propertychange是什么?
今日访问:64
昨日访问:88
本周访问:230
本月访问:999
所有访问:15940
linux下使用crontab定时备份MYSQL数据库的方法:
发表于2年前( 17:11)&&
阅读(3318)&|&评论()
0人收藏此文章,
linux下使用crontab定时备份MYSQL数据库的方法:
只需按照下面3步做,一切都在你的掌控之下:&
第一步:在服务器上配置备份目录代码:&
--------------------------------------------------------------------------------&
mkdir /var/lib/mysqlbackup&
cd /var/lib/mysqlbackup&
--------------------------------------------------------------------------------&
第二步:编写备份脚本代码:&
--------------------------------------------------------------------------------&
vi dbbackup.sh&
--------------------------------------------------------------------------------&
粘帖以下代码,务必更改其中的username,password和dbname。&
--------------------------------------------------------------------------------&
mysqldump -uuser -ppassword dbname | gzip & /var/lib/mysqlbackup/dbname`date +%Y-%m-%d_%H%M%S`.sql.gz
cd &/var/lib/mysqlbackup
& &rm -rf `find . -name '*.sql.gz' -mtime 10` &#删除10天前的备份文件
--------------------------------------------------------------------------------&
第三步:更改备份脚本权限&
--------------------------------------------------------------------------------&
chmod +x dbbackup.sh&
--------------------------------------------------------------------------------&
第四步:用crontab定时执行备份脚本代码:&
--------------------------------------------------------------------------------&
crontab -e&
--------------------------------------------------------------------------------&
若每天晚上21点00备份,添加如下代码,&
--------------------------------------------------------------------------------&
00 21 * * * /var/lib/mysqlbackup/dbbackup.sh
1、任务调度设置文件的写法& &&& 可用crontab -e命令来编辑,编辑的是/var/spool/cron下对应用户的cron文件,也可以直接修改/etc/crontab文件&&&& 具体格式如下:&&&&&&Minute Hour Day Month Dayofweek&& command&&&&&&分钟&&&& 小时&& 天&&&& 月&&&&&& 天每星期&&&&&& 命令&&& &每个字段代表的含义如下:&&&& Minute&&&&&&&&&&&& 每个小时的第几分钟执行该任务&&&& Hour&&&&&&&&&&&&&& 每天的第几个小时执行该任务&&&& Day&&&&&&&&&&&&&&&& 每月的第几天执行该任务&&&& Month&&&&&&&&&&&& 每年的第几个月执行该任务&&&& DayOfWeek&&&& 每周的第几天执行该任务&&&& Command&&&&&& 指定要执行的程序&&&& 在这些字段里,除了“Command”是每次都必须指定的字段以外,其它字段皆为可选
&&& 字段,可视需要决定。对于不指定的字段,要用“*”来填补其位置。&&& 举例如下:&&& 5&&&&&& *&&&&&& *&&&&&&&&&& *&&&& *&&&& ls&&&&&&&&&&&& 指定每小时的第5分钟执行一次ls命令&&& 30&&&& 5&&&&&& *&&&&&&&&&& *&&&& *&&&& ls&&&&&&&&&&&& 指定每天的 5:30 执行ls命令&&& 30&&&& 7&&&&&& 8&&&&&&&& *&&&& *&&&& ls&&&&&&&&&&&& 指定每月8号的7:30分执行ls命令&&& 30&&&& 5&&&&&& 8&&&&&&&& 6&&&& *&&&& ls&&&&&&&&&&&& 指定每年的6月8日5:30执行ls命令&&& 30&&&& 6&&&&&& *&&&&&&&&&& *&&&& 0&&&& ls&&&&&&&&&&&& 指定每星期日的6:30执行ls命令[注:0表示星期天,1表示星期1,
&&& 以此类推,也可以用英文来表示,sun表示星期天,mon表示星期一等。]
& &30&&&& 3&&&& 10,20&&&& *&&&& *&&&& ls&&&& 每月10号及20号的3:30执行ls命令[注:“,”用来连接多个不连续的时段]
&& &25&&&& 8-11 *&&&&&&&&&& *&&&& *&&&& ls&&&&&& 每天8-11点的第25分钟执行ls命令[注:“-”用来连接连续的时段]
&&& */15&& *&&&&&& *&&&&&&&&&& *&&&& *&&&& ls&&&&&&&& 每15分钟执行一次ls命令 [即每个小时的第0 15 30 45 60分钟执行ls命令 ]
&&& &30&& 6&&&& */10&&&&&&&& *&&&& *&&&& ls&&&&&& 每个月中,每隔10天6:30执行一次ls命令[即每月的1、11、21、31日是的6:30执行一次ls 命令。 ]
&&&& 每天7:50以root 身份执行/etc/cron.daily目录中的所有可执行文件
&&&& 50&& 7&&&&&& *&&&&&&&&&&&& *&&&& *&&&& root&&&& run-parts&&&& /etc/cron.daily&& [ 注:run-parts参数表示,执行后面目录中的所有可执行文件。 ]
2、新增调度任务可用两种方法:&&&&&& 1)、在命令行输入: crontab -e 然后添加相应的任务,wq存盘退出。&&&&&&&&2)、直接编辑/etc/crontab 文件,即vi /etc/crontab,添加相应的任务。
更多开发者职位上
1)">1)">1" ng-class="{current:{{currentPage==page}}}" ng-repeat="page in pages"><li class='page' ng-if="(endIndex<li class='page next' ng-if="(currentPage
相关文章阅读

我要回帖

更多关于 crontab 日志 的文章

 

随机推荐