linux定时器

参考louisliao_1981的博客,网址:http://blog.csdn.net/LOUISLIAOXH/article/details/48242289


3 crontab -e时配置定时器,需要选择编辑器,默认为:nano,修改为vim
select-editor  之后选择3,或者4

保存即可。

4 设置mysqlBack.sh 为可执行的文件
chmod +x backup.sh

5 之后在crontab -e中最下面添加: (每晚22:30开始备份)

30 22 * * *  /opt/tc/backup/backup root bdroom  localhost  room


出现:crontab: installing new crontab  即为成功。

如果出现Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
At least one of these environment variable is needed to run this program
Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
At least one of these environment variable is needed to run this program

是由于环境变量没有找到,需要在最前面 (/etc/profile存储的为环境变量的值)

#!/bin/bash

source /etc/profile

 

ubuntu使用cron设置定时启动任务

cron,是一个Linux定时执行工具,可以在无需人工干预的情况下运行作业。

 

配置文件位置: /etc/crontab 可以看到以下内容。

 

ununtu 通过调用 run-parts 命令,定时运行四个目录下的所有脚本。
1)/etc/cron.hourly,目录下的脚本会每个小时让执行一次,在每小时的17分钟时运行;
2)/etc/cron.daily,目录下的脚本会每天让执行一次,在每天的6点25分时运行;
3)/etc/cron.weekly,目录下的脚本会每周让执行一次,在每周第七天的6点47分时运行;
4)/etc/cron.mouthly,目录下的脚本会每月让执行一次,在每月1号的6点52分时运行;

 

打开命令crontab  -e,来添加定时任务
 

 

cron 服务的启动与停止

 

cron是被默认安装并启动的。而 ubuntu 下启动,停止与重启cron,均是通过调用/etc/init.d/中的脚本进行。命令如下

启动:sudo /etc/init.d/cron start 关闭:sudo /etc/init.d/cron stop
重启:sudo /etc/init.d/cron restart 重新载入配置:sudo /etc/init.d/cron reload
可以用ps aux | grep cron命令查看cron是否已启动

也可以通过如下命令

/usr/sbin/service crond start // 启动服务
/usr /sbin/service crond stop // 关闭服务
/usr/sbin/service crond restart // 重启服务
/usr /sbin/service crond reload // 重新载入配置

 

cron是否在运行

pgrep cron

 

cron文件语法

Minute Hour Day Month Dayofweek command

 

每五分钟执行  */5 * * * *

每小时执行     0 * * * *

每天执行        0 0 * * *

每周执行       0 0 * * 0

每月执行        0 0 1 * *

每年执行       0 0 1 1 *

 

5 * * * * ls // 指定每小时的第5分钟执行一次ls命令 30 5 * * * ls // 指定每天的 5:30 执行ls命令
30 7 8 * * ls // 指定每月8号的7:30分执行ls命令

50 7 * * * root  run-parts/etc/cron.daily // 每天7:50以root 身份执行/etc/cron.daily目录中的所有可执行文件

 

实例:其中:0 22 10 * * ? *   表示每天10点22分,运行一次。(秒  分   时      )

       <Task name="circleSite" schedule="0 22 10 * * ? *">
   <CircleSiteTest />
<DispatchAll event="ProjectUpdateTest" />        
</Task>

 

 1  调出cron.log日志,原先该日志隐藏,此时调出。

 

sudo vi /etc/rsyslog.d/50-default.conf 
去掉 cron.*   /var/log/cron.log前面的注释,让其生效

 

重启rsyslog服务

 

sudo service rsyslog restart
 

 

重启cron服务

sudo service cron restart 

 

查看日志文件

 

tail -f /var/log/cron.log 

 

   2  如果日志出现Skipping @reboot jobs -- not system startup

 

      重启的任务:

先把文件/var/run/crond.reboot删除,再restartcron

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值