问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

linux定时运行命令

发布网友 发布时间:2023-09-27 02:20

我来回答

1个回答

热心网友 时间:2024-02-18 13:32

linux定时运行命令
1.命令简介
每个用户都有各自不同的计划任务列表,用各自的帐户登录后运行
复制代码
  
代码如下:
crontab -l
就可查看到各任务的计划任务情况,使用下列命令可以修改自己的计划任务
复制代码
  
代码如下:
crontab -e
每次添加完任务后,一定记得重新启动crond服务,不然不会生效
复制代码
  
代码如下:
service crond restart
2.实例
下面为一计划任务的样例
复制代码
  
代码如下:
#每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点
  0 11 4 * mon-wed date
上面这句的意思是“每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点显示时间”,你把date改成你想执行的命令,再把执行的时间改了,就可以形成一个定时执行命令了
复制代码
  
代码如下:
#每分钟执行一次
  */1 * * * * date
  #在/root/run_sh/下面写一个shell脚本,命名为run.sh,内容如下
  #!/bin/sh
  echo hello /root/Hello.txt
然后运行crontab -e命令,写入
复制代码
  
代码如下:
*/1 * * * * /root/run_sh/run.sh(一定要绝对路径)
保存退出后执行service crond restart,过一分钟后你就会在/root下看到Hello.txt文件。
复制代码
  
代码如下:
#定时运行java程序,写一命名为run.sh的shell脚本,内容如下
  #!/bin/sh
  cd /root/javaExe/
  java TestCron/Test
  后运行crontab -e 写入
  */1 * * * * /root/run_sh/run.sh(一定要绝对路径)
后重启crond服务。
3.空格之间的参数意义如下
分钟   小时   天   月   星期   要执行的命令
  前面五个参数中间用空格隔开,最后是要执行的命令。
详细的请参考下面
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/ls.txt
  编辑/etc/crontab文件,在末尾加上一行: 30 5 * * * root init 6 这样就将系统配置为了每天早上5点30自动重新启动。
  需要将crond设置为系统启动后自动启动的服务,可以在/etc/rc.d/rc.local 中,在末尾加上
复制代码
  
代码如下:
service crond start
如果还需要在系统启动十加载其他服务,可以继续加上其他服务的启动命令。
  比如:
复制代码
  
代码如下:
service mysqld start
基本用法:
1. crontab -l
  列出当前的crontab任务
2. crontab -d
  删除当前的crontab任务
3. crontab -e (solaris5.8上面是 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 5.8似乎不支持此种写法)
  #晚上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)先建一个文件crond.txt如下, 每天早上5点36分重新启动
  36 5 * * * reboot
(2)上传到/opt目录
(3)运行命令
  crontab /opt/crond.txt
  crontab -l
  让配置文件生效:如果让配置文件生效,还得重新启动cron,切记,既然每个用户下的cron配置文件修改后。也要重新启动cron服务器。
  在Fedora 和Redhat中,我们应该用;
  [root@localhost ~]# /etc/init.d/crond restart
  如果让crond 在开机时运行,应该改变其运行级别;
  [root@localhost ~]# chkconfig --levels 35 crond on
  service crond status 查看 cron服务状态,如果没有启动则 service crond start启动它, cron服务是一个定时执行的服务,可以通过crontab 命令添加或者编辑需要定时执行的任务
下面是一个例子文件:
复制代码
  
代码如下:
#MIN HOUR DAY MONTH DAYOFWEEK COMMAND
  #每天早上6点
  106* * * date
  #每两个小时
  0*/2* * * date
  #晚上11点到早上8点之间每两个小时,早上部点
  0 23-7/2,8* * * date
  #每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点
  0 11 4* mon-wed date
  #1月份日早上4点
  0 4 1 jan* date
  范例
  lark:~crontab-1 列出用户目前的crontab.
  #MIN HOUR DAY MONTH DAYOFWEEK COMMAND
  10 6* * * date
  0*/2* * * date
  0 23-7/2,8 * * * date
  lark:~
基本格式 :
  *****command
  分  时  日  月  周  命令
第1列表示分钟1~59 每分钟用*或者 */1表示
  第2列表示小时1~23(0表示0点)
  第3列表示日期1~31
  第4列表示月份1~12
  第5列标识号星期0~6(0表示星期天)
  第6列要运行的命令
crontab文件的一些例子:
复制代码
  
代码如下:
30 21 * * * /usr/local/etc/rc.d/lighttpd restart
  上面的例子表示每晚的21:30重启lighttpd 。/pp45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart
  上面的例子表示每月1、10、22日的4 : 45重启lighttpd 。/pp10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart
  上面的例子表示每周六、周日的1 : 10重启lighttpd 。/pp0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart
  上面的例子表示在每天18 : 00至23 : 00之间每隔30分钟重启lighttpd 。/pp0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart
  上面的例子表示每星期六的11 : 00 pm重启lighttpd 。/pp* */1 * * * /usr/local/etc/rc.d/lighttpd restart
  每一小时重启lighttpd/pp* 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart
  晚上11点到早上7点之间,每隔一小时重启lighttpd/pp0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart
  每月的4号与每周一到周三的11点重启lighttpd/pp0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart
  一月一号的4点重启lighttpd
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
目标存储区域宽度限制为5.3米 左边是仓库那么它的宽度为多少是少内墙... 边缘计算方案哪家服务比较好? 台式电脑随身携带上飞机坐飞机可不可以带台式电脑电脑显示屏能随带... 武穴市小桥中学学校实力 谁会关于学校的新闻的作文,50~80字... 急问,这段话是在简爱中的第几章? 求下列两句句子翻译成英文1.天不怕地不怕就怕老师上门来告状 2.美好... 如何拆卸电脑主板 主板怎么拆下来(如何拆主板先拆什么后拆什么) 电脑主板怎样拆下来 武功来了是热门游戏吗? 乳酸菌和姜黄发酵可以杀菌吗 惠州太阳湾别墅社区环境怎么样,适合一家五口住吗,买之前要做哪些预算... 原子核外电子总数为10的离子或原子团有哪些? 旧衣服改造成时尚新衣(妙招旧衣服变新) 旧衣服改造(创意再生,时尚新生) 怎样可以一键关闭电脑屏幕呢? 微信莫名其妙要重登录,说发黄色消息 江西软件职业技术大学本科在哪读 江西软件职业技术大学有硕士点吗 江西软件大学是本科嘛? 医学影像学毕业后需要规培吗? 吉林省从哪年开始,无规培证不能从事医师 规培政策什么时候可以取消 支付宝账号怎么解绑 中气不足,气短怎么办 Win10无法登录微软账户 Win10登录微软账户出错怎么办? 一建考试科目安排及时间安排表 23年一建考试时间表 面试官最喜欢什么样的求职者呢? 金翅木与红木哪个好 感悟正能量人生的句子 经典(81句) 考研对英语有哪些要求? 乙酸乙酯-正己烷重结晶,那这个物质在乙酸乙酯和正己烷中的溶解度怎么... 染发后用什么护理产品 格力多联机散热片传感器异常 沪昆高铁江西段全线桥梁共有多少座 2585火车4748号在2人坐还是3人坐 珠海金湾虹晖小学老师待遇 人 猫癣什么样是快好的? 人得了猫藓有哪些症状??? 长安增田居住证明在哪里可以办理 东莞长安莲花广场附近居住证办理地点 东莞长安夏边去那办居住证 我姐姐结婚,我要不要包红包啊? DNF中为什么说毒王挑衅变态?? dnf毒王挑衅! DNF旧版毒王的挑衅技能有什么作用 dnf毒王爪精通和挑衅哪个好 DNF毒王的挑衅,具体的说说!