标签归档:定时

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 | 标签为 , , , | 一条评论

python在Linux下的自动定时执行

python 的程序在自己的目录下执行的很好,但是到了自动执行的时候就不好用了 crontab 里明明有,就是不执行 1. python 肢本中需要添加#!/usr/bin/env python 声明执行程序在系统环境变量的名字 2. 程序的获取配置文件路径需要改成绝对路径 3. 需要给文件添加可执行状态:chmod a+x test.py

发表在 Python | 标签为 , , , | 留下评论

java多线程休眠

线程休眠的方法是Thread.sleep(long millis) 和Thread.sleep(long millis, int nanos) sleep()单位是毫秒 问题1.休眠的时候,哪个线程会休眠 答案:哪个线程调用了sleep,哪个就会休眠 问题2.主线程能休眠了 可以 Thread.sleep()经常被调用来进行程序的等待,比如你想让你的程序定时执行,可以写个代码 int a=2 while(a > 1){ run… Thread.sleep(24*3600*1000);// 每天跑一次 } 看个例子 package com.javaer.thread;   public class TSleep implements Runnable {   public static void main(String[] args) { Thread s1 … 继续阅读

发表在 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 | 标签为 , , , , , , | 一条评论