cron是一个linux下的定时执行工具,能够在无需人工干预的状况下运行做业。因为Cron 是Linux的内置服务,但它不自动起来,能够用如下的mysql
方法启动、关闭这个服务: linux
/sbin/service crond start //启动服务 sql
/sbin/service crond stop //关闭服务 shell
/sbin/service crond restart //重启服务 centos
/sbin/service crond reload //从新载入配置bash
你也能够将这个服务在系统启动的时候自动启动: oracle
在/etc/rc.d/rc.local这个脚本的末尾加上: 工具
/sbin/service crond startrest
直接用crontab命令编辑 日志
我已经加上了,用crontab -u root -l显示计划任务
[root@centos56 ~]# crontab -u root -l
01 5 * * * /data/bak/mysqlbackup
01 6 * * * /data/bak/oraclebackup
用crontab -u root -e进行编辑
crontab 日志:/var/spool/mail/[root]
若是失败,发送的是邮件日志记录,能够上述位置查看。
格式: * * * * * shell执行命令
前面五个*号表明五个数字,数字的取值范围和含义以下:
分钟 (0-59)
小時 (0-23)
日期 (1-31)
月份 (1-12)
星期 (0-6)//0表明星期天
除了数字还有几个个特殊的符号就是"*"、"/"和"-"、",",*表明全部的取值范围内的数字,"/"表明每的意思,"*/5"表示每5个单位,"-"表明从某个数字到某个数字,","分开几个离散的数字。如下举几个例子说明问题:
天天早上6点
0 6 * * * echo "Good morning." >> /tmp/test.txt //注意单纯echo,从屏幕上看不到任何输出,由于cron把任何输出都email到root的信箱了。
每两个小时
0 */2 * * * echo "Have a break now." >> /tmp/test.txt
晚上11点到早上8点之间每两个小时,早上八点
0 23-7/2,8 * * * echo "Have a good dream:)" >> /tmp/test.txt
每一个月的4号和每一个礼拜的礼拜一到礼拜三的早上11点
0 11 4 * 1-3 command line
1月1日早上4点
0 4 1 1 * command line
mysqlbackup内容
#!/bin/bash filename=`date +%Y%m%d_%H:%M` /usr/local/mysql/bin/mysqldump --opt mydatabase -u root -prootpsw |gzip >/data/bak/mysql/$filename.gz
oraclebackup内容
#!/bin/bash rq=`date +%Y%m%d_%H:%M` su - oracle -c "exp orcluser/orclpsw@orcl owner=orcluser file=/data/bak/oracle/orcl_$rq.dmp" exit 0