标签归档:crontab

crontab 定时命令不执行,手工可以执行怎么办

无论如何质疑不如先看看日志 tail -300 /var/log/cron 想起来上几天有同事把/etc/crontab 给改了,他习惯把linux文件下载到windows上改,然后就多了这个传说的^M 所有得命令行失效 尽管crontab -l 能看到很多命令行,其实一条也不好用 清楚这个M的一组命令行 cat -v /etc/crontab | tr -d "^M" > /etc/crontab1 rm /etc/crontab mv /etc/crontab1 /etc/crontab crontab /etc/crontab crontab -l 生效了。 Windows下保存的文本文件,上传到Linux/Unix下后总会在末尾多了一个换行符^M,导致一些xml、ini、sh等文件读取错误,造成linux命令无法正确执行。 windows换行是\r\n,十六进制数值是:0D0A。 LINUX换行是\n,十六进制数值是:0A 一、使用vi编辑器,vi是类Unix系统下功能强大的编辑器,利用vi,可以替我们解决很多问题: 1. vi 文件名 2.按下 Esc 3. … 继续阅读

发表在 JAVA | 标签为 , , , | 一条评论

改变nginx logrotate方式采用sh文件自动切割日志文件

Logrotate读取/etc/logrotate.d目录下的文件 这里的文件会被系统自动执行 logrotate是作为linux系统日志的管理工具存在。他可以轮换,压缩,邮件系统日志文件。 默认的logrotate被加入cron的/etc/cron.daily中作为每日任务执行。 /etc/logrotate.conf为其默认配置文件指定每个日志文件的默认规则。 /etc/logrotate.d/* 为/etc/logrotate.conf默认包含目录其中文件也会被logrotate读取。指明每个日志文件的特定规则。 /var/lib/logrotate/status中默认记录logrotate上次轮换日志文件的时间。 翻开叫nginx这个文件内容如下 /var/log/nginx/*.log { daily missingok rotate 52 compress delaycompress notifempty create 640 nginx adm sharedscripts postrotate [ -f /var/run/nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid` endscript } 解释 daily 脚本按天执行 missingok 当日志为空不进行翻滚 … 继续阅读

发表在 Linux | 标签为 , , , , , , | 一条评论