问:
1.譬如要在每天早上1点重启机器,它的命令该怎样写?
2.譬如要在每周一早上1点重启机器,它的命令该怎样写?
经本人实践证明,可使用如下方法实现Linux系统在每天凌晨一点三十分自动重启系统。
1,编辑系统的crontab文件
#vi /etc/crontab
2,在crontab文件里面的run-parts部分加入一行:
30 1 * * * root init 6 //每天凌晨一点三十分自动重启系统
3,保存退出
:wq
4,重启crond任务
这个
的前一部分是对时间的设定,后面一部分是要执行的命令,如果要执行的命令太多,可以把这些命令写到一个脚本里面,然后在这里直接调用这个脚本就可以了,调用的时候记得写出命令的完整路径。时间的设定我们有一定的约定,前面五个*号代表五个数字,数字的取值范围和含义如下:
分钟 (0-59)
小时 (0-23)
日期 (1-31)
月份 (1-12)
星期 (0-6)//0代表星期天
除了数字还有几个个特殊的符号就是"*"、"/"和"-"、",",*代表所有的取值范围内的数字,"/"代表每的意思,"*/5"表示每5个单位,"-"代表从某个数字到某个数字,","分开几个离散的数字。以下举几个例子说明问题
每天早上6点
0 6 * * * root init 6
每两个小时
0 */2 * * * echo root init 6
晚上11点到早上8点之间每两个小时,早上八点
0 23-7/2,8 * * * root init 6
每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点
0 11 4 * 1-3 command line
======================================================================
设置linux启动后每隔5分钟自动重启,以root账号为例
1.执行crontab -l命令列出某个用户cron服务的详细内容,如果root用户下没有的话,需要使用crontab -u root -e来创建一个root下的crontab,在该文件末尾添加*/5 * * * * reboot并保存退出。
2.编辑系统的crontab文件,执行#vi /etc/crontab,在文件末尾添加定时重启命令*/5 * * * * reboot
3.保存退出
4.执行crontab -l查看当前用户crontab内容
5.执行service crond status查看cron服务状态,如果没有启动则service crond start启动它。
6.如果crond不能随系统启动的话,可以在/etc/rc.d/rc.local中,在末尾上添加
Service crond start
7.重启系统,不用登陆账号,等5分钟后系统会自动重启。
备注:crontab文件内容如下
[root@localhost ~]# cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
*/5空格 *空格*空格*空格*空格 root reboot -f //这是自己添加的部分 //表示每5分钟重启