Linux系统利用Crontab命令实现定时重启
Crontab是一个很方便的在unix/linux系统上定时(循环)执行某个任务的程序使用cron服务,用 service crond status 查看 cron服务状态,如果没有启动则 service crond start启动它,cron服务是一个定时执行的服务,可以通过crontab 命令添加或者编辑需要定时执行的任务:
crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数
crontab -l //列出某个用户cron服务的详细内容
crontab -r //删除没个用户的cron服务
crontab -e //编辑某个用户的cron服务
比如说root查看自己的cron设置:crontab -u root -l
再例如,root想删除fred的cron设置:crontab -u fred -r、
编辑cron服务时,编辑的内容有一些格式和约定,输入:crontab -u root -e
进入vi编辑模式,编辑的内容一定要符合下面的格式:/1 ls >> /tmp/lstxt
编辑/etc/crontab文件,在末尾加上一行: 30 5 root init 6 这样就将系统配置为了每天早上5点30自动重新启动。
需要将crond设置为系统启动后自动启动的服务,可以在/etc/rcd/rclocal 中,在末尾加上service crond start如果还需要在系统启动十加载其他服务,可以继续加上其他服务的启动命令。
比如: service mysqld start
基本用法:
1 crontab -l列出当前的crontab任务
2 crontab -d
删除当前的crontab任务
3 crontab -e (solaris58上面是 crontab -r)
编辑一个crontab任务,ctrl_D结束
4 crontab filename
以filename做为crontab的任务列表文件并载入
crontab file的格式:
crontab 文件中的行由 6 个字段组成,不同字段间用空格或 tab 键分隔。前 5 个字段指定命令要运行的时间
分钟 (0-59)
小时 (0-23)
日期 (1-31)
月份 (1-12)
星期几(0-6,其中 0 代表星期日)
第 6 个字段是一个要在适当时间执行的字符串
例子:
#MIN HOUR DAY MONTH DAYOFWEEK COMMAND
#每天早上6点10分
10 6 date
#每两个小时
0 /2 date (solaris 58似乎不支持此种写法)
#晚上11点到早上8点之间每两个小时,早上8点
0 23-7/2,8 date
#每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点
0 11 4 mon-wed date
#1月份日早上4点
0 4 1 jan date
补充:在使用crontab的时候,要特别注意的是运行脚本中能够访问到的环境变量和当前测试环境中的环境变量未必一致,一个比较保险的做法是在运行的脚本程序中自行设置环境变量(export)
(1)先建一个文件crondtxt如下, 每天早上5点36分重新启动
36 5 reboot
(2)上传到/opt目录
(3)运行命令
crontab /opt/crondtxt
crontab -l
让配置文件生效:如果让配置文件生效,还得重新启动cron,切记,既然每个用户下的cron配置文件修改后。也要重新启动cron服务器。
在Fedora 和Redhat中,我们应该用;
[root@localhost ~]# /etc/initd/crond restart
如果让crond 在开机时运行,应该改变其运行级别;
[root@localhost ~]# chkconfig --levels 35 crond on
service crond status 查看 cron服务状态,如果没有启动则 service crond start启动它, cron服务是一个定时执行的服务,可以通过crontab 命令添加或者编辑需要定时执行的任务
下面介绍Crontab的两种方法。
一、在Crontab中使用PHP执行脚本
就像在Crontab中调用普通的shell脚本一样(具体Crontab用法),使用PHP程序来调用PHP脚本。
每一小时执行myscriptphp如下:
代码如下:
# crontab -e
00 /usr/local/bin/php /home/john/myscriptphp
/usr/local/bin/php为PHP程序的路径。
二、在Crontab中使用URL执行脚本
如果你的PHP脚本可以通过URL触发,你可以使用lynx或curl或wget来配置你的Crontab。
下面的例子是使用Lynx文本浏览器访问URL来每小时执行PHP脚本。Lynx文本浏览器默认使用对话方式打开URL。但是,像下面的,我们在lynx命令行中使用-dump选项来把URL的输出转换来标准输出。
代码如下:
00 lynx -dump >
Linux计划任务cron是一个定时模式,例如我们可以在系统使用最少时对系统进行备份,但是管理员不可能在半夜来到公司工作,那么就可以使用Linux计划任务cron,现在来介绍一下具体使用方法。
目前流行的Linux系统在安装好后cron都是安装好的并且是随机启动的
启动cron服务/sbin/service crond start
停止服务/sbin/service crond stop
重启服务/sbin/service crond restart
重新加载/sbin/service crond reload
服务的启动停止介绍完了下面来说如何添加计划任务
使用crontab命令
crontab -u设定某个用户的cron服务
crontab -l列出当前用户的cron服务的详细内容
crontab -r删除当前用户的cron服务
crontab -e编辑当前用户的cron服务
例如当前登陆的用户是root
运行crontab-e就给root用户创建一个计划任务
运行crontab -e进入vi编辑计划任务内容
第1位分钟表示(0-59)第2位表示小时(0-23)
第3位表示天(1-31)第4位表示月份(1-12)
第5位置表示星期(0-6)0表示星期日
后面是你要执行的任务
每一位之间使用空格分开
上面时间除了使用数字还有几个特殊符号
“”表示所有数值如第一位使用表示每分钟
“/”表示每如果第一位使用/5表示每5分钟
“-”表示数值范围“,”来隔开离散的数值如第2位是1-6,8表示1点到6点,还有8点
具体实例如下
每天1点向某个文件写入一段话
0 1 echo "helloworld">>/tmp/testtxt
每5分钟向执行一个程序或者命令
/5 执行的命令
如何知道您的计划任务是否运行了,1你可以去检查您要执行的命令是否在你指定的时间去运行了,2有的命令运行结果不好查看你可以去查cron的日志/var/log/cron
在此文件中记录了计划任务执行的情况
上述方法添加完成计划任务后会在/var/spool/cron目录中生成一个用户名字的文件,文件里面就是你的计划任务,cron服务每分钟读取一次/var/spool/cron中的文件
还有一种方法可以添加计划任务自己编辑/etc/crontab(cron服务每分钟也读取一次/etc/crontab文件)
在文件的末尾添加计划任务格式和上述方法完全一样
/etc/crontab里面还有其他的东西,下面来说下
MAILTO=root//如果出现错误,或者有数据输出,数据作为邮件发给这个帐号
01 root run-parts /etc/cronhourly 每个小时去执行一遍/etc/cronhourly内的脚本
0 24 rootrun-parts /etc/crondaily 每天去执行一遍/etc/crondaily内的脚本
2 24 0 root run-parts /etc/cronweekly 每星期去执行一遍/etc/cronweekly内的脚本
4 24 1 root run-parts /etc/cronmonthly 每个月去执行一遍/etc/cronmonthly内的脚本
注意上面的run-parts参数如果去掉run-parts后面就要跟要执行的某个脚本名,如果加上run-parts参数后面就要跟目录名了
也可以限制cron的使用
如果在/etc/目录中存在cronallowcrondeny文件
只有cronallow文件中列出的用户才能使用cron服务,同时忽略crondeny文件
如果cronallow文件不存在,crondeny文件中列出的用户将被禁止使用cron服务。
这样我们就完成了Linux计划任务cron的学习。
补充一些例子:
crontab文件的的些例子:
30 21 /usr/local/etc/rcd/lig>
ubuntu 关机命令\x0d\关机命令 shutdown\x0d\ubuntu的终端中默认的是当前用户的命令,只是普通用户,因此在终端器中可以使用sudo -sh 转换到管理员root用户下执行命令。\x0d\1)shutdown _help\x0d\可以查看shutdown命令如何使用,当然也可以使用man shutdown命令。\x0d\2) shutdown -h now 现在立即关机\x0d\3)shutdown -r now 现在立即重启\x0d\4)shutdown -r +3 三分钟后重启\x0d\5)shutdown -h +3 “The System will shutdown after 3 minutes” 提示使用者将在三分钟后关机\x0d\6)shutdown -r 20:23 在20:23时将重启计算机\x0d\7)shutdown -r 20:23 & 可以将在20:23时重启的任务放到后台去,用户可以继续 *** 作终端
第一个是计划任务,但是第二个不会。你一秒发送一次真的不要紧吗
可用crontab -e命令来编辑,编辑的是/var/spool/cron下对应用户的cron文件,也可以直接修改/etc/crontab文件
具体格式如下:
每个字段代表的含义如下:
Minute 每个小时的第几分钟执行该任务
Hour 每天的第几个小时执行该任务
Day 每月的第几天执行该任务
Month 每年的第几个月执行该任务
DayOfWeek 每周的第几天执行该任务
Command 指定要执行的程序
在这些字段里,除了“Command”是每次都必须指定的字段以外,其它字段皆为可选
字段,可视需要决定。对于不指定的字段,要用“”来填补其位置。
5 ls 指定每小时的第5分钟执行一次ls命令
30 5 ls 指定每天的 5:30 执行ls命令
30 7 8 ls 指定每月8号的7:30分执行ls命令
30 5 8 6 ls 指定每年的6月8日5:30执行ls命令
30 6 0 ls 指定每星期日的6:30执行ls命令[注:0表示星期天,1表示星期1,
以上就是关于solaris 定时任务crontab 如何定时启动一个带图形界面的程序全部的内容,包括:solaris 定时任务crontab 如何定时启动一个带图形界面的程序、如何使用Linux的Crontab定时执行PHP脚本的方法、mysqldump 在crontab中没有看到计划任务,但是却在某个目录每天生成了 ,请问是如何实现的等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)