Linux服务器Crontab定时自动执行命令及参考用法
一、安装Crontab
一般我们服务器Centos、Debian都默认安装过的,直接执行第二步就可以,但是有些发行版是没有安装的,所以我们不管如何直接先安装一次,如果已经安装或者没安装过的,也无所谓。
Centos
yum install vixie-cron crontabs
chkconfig crond on
service crond start
Debian
apt-get install cron
/etc/init.d/cron restart
这里根据我们服务器的环境,然后安装crontab,并启动。
二、编辑定时自动脚本
在ssh中执行脚本,并编辑文件。
crontab -e
0 4 * * * /sbin/reboot
表示每天晨4点重启服务器,编辑完毕之后:wq保存并退出。
三、保存退出重启生效
/etc/rc.d/init.d/crond stop
/etc/rc.d/init.d/crond start
这样执行后就可以生效,可以实现我们需要的定时自动重启服务器的功能
附注内容
使用格式
crontab [-u user] {-l | -r | -e}
主要参数
-e:执行文字编辑器来设定时程表,内空的文字编辑器是vi
-r:删除目前的时程表
-l列出目前的时程表。
Crontab文件的格式为”M H D m d cmd”。其中,M代表分钟(0~59),H代表小时(0~23),D代表天(1~31),m代表月(1~12),d代表一星期内的天(0~6,0为星期天)。Cmd表示要运行的程序,它被送入sh执行,这个shell只有USER、HOME、SHELL三个环境变量。
示例说明:
每五分钟执行 */5 * * * *
每小时执行 0 * * * *
每天执行 0 0 * * *
每周执行 0 0 * * 0
每月执行 0 0 1 * *
每年执行 0 0 1 1 *
在以上各个字段中,还可以使用以下特殊字符:
星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。
逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”
中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”
正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。