RHEL6系统中默认已安装了at、crontab软件包,通过atd和crond这两个系统服务实现一次性、周期性计划任务的功能,并分别通过at、crontab命令进行计划任务设置。 计划任务分为一次性和循环性的计划任务 一、一次调度执行-----at 作用: 计划任务主要是做一些周期性的任务,目前最主要的用途是定期备份数据 一次性调度执行 at---实战 语法格式 at //删除当前用户所有的计划任务 crontab -e Edit jobs for the current user. //编辑当前用户的计划任务 管理员可以使用 -u username, 去管理其他用户的计划任务 语法格式 : Minutes Hours Day-of-Month Month [root@linux-server ~]# crontab -r #删除当前用户的计划任务 [root@linux-server ~]# crontab -u jack -r #删除jack用户的计划任务
at 属于一次性的计划任务 at 时间 命令脚本 ctrl+d 提交 atq at -l 查看计划任务 at -d N 删除计划任务 /var/spool/at 配置文件在/etc/at.deny /etc/at.allow 优先级高于deny crontab 周期性计划任务 crontab -l 查询计划任务 crontab -l -u Tom crontab -e 添加计划任务 时间格式
另外, 由于使用者自己也可以设置计划任务,所以, Linux 系统也提供了使用者控制计划任务的命令:crontab命令。因此,Linux计划任务整体还是围绕Crontab展开的。 30 3 10,20 * * ls 每月10号及20号的3:30执行ls命令[注:“,”用来连接多个不连续的时段] 25 8-11 * * * ls 每天8-11点的第25分钟执行ls命令[注:“-”用来连接连续的时段 * * ls 每15分钟执行一次ls命令 [即每个小时的第0 15 30 45 60分钟执行ls命令 ] 30 6 */10 * * ls 每个月中,每隔10天6:30执行一次ls命令[即每月的1、11 Linux crontab 命令,通过Linux crontab 命令来实现各种Linux计划任务。 Linux计划任务和Windows计划任务还是有一定的差异的,Linux系统更加专业化,对使用者的要求更高。
计划任务 crontab、at 代表每5分钟) 第2列表示小时1~23(0表示0点) 第3列表示日期1~31 第4列表示月份1~12 第5列标识号星期0~6(0表示星期天) 第6列要运行的命令 实用命令 crontab -l #查看计划任务列表 0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart 每星期六的11 : 00 pm重启apache。 /local/etc/rc.d/lighttpd restart 每一小时重启apache * 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart 晚上11 点到早上7点之间,每隔一小时重启apache 0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart 每月的4号与每周一到周三的11点重启apache
系统通过计划任务来定期来删除这些临时文件! 二、仅执行一次的计划任务 首先,我们先来谈谈仅运行一次的计划任务at 2.1、 atd 的启动与 at 运行的方式 在使用at之前我们要确保atd服务是运行的,这个需要我们去检查一下,因为并不是所有的发行版 will be executed using /bin/sh at> cp /etc/passwd /root at> <EOT> job 4 at Mon Jan 13 11:31:00 2020 [ 三、周期执行的计划任务 相对于 at 是仅执行一次的工作,周期执行的计划任务则是由 crond这个系统服务来控制的。 -e :建立计划任务 -l :查看计划任务 -r :删除所有计划任务,若只删除一项,只能使用-e进行编辑 [root@zutuanxue ~]# crontab -e #执行后会打开一个vim
计划任务 计划任务指的是需要定时自动执行或周期执行的工作任务 linux系统中,可以通过cron和at两种命令实现计划任务 at 单次计划任务 指的是定时执行一次的计划任务,可以使用 at 命令完成 (相当于一个空的/etc/at.allow文件) cron 周期性任务计划 命令用法 命令选项 含义 -e 编辑计划任务 edit -l 查看计划任务 display -u 指定用户 network服务 */30 18-23 * * * /usr/bin/systemctl restart network 每天18:00至23:00之间每隔30分钟重启network服务 3,15 8-11 */2 * * /usr/sbin/reboot 每隔两天的上午8点到11点的第3和第15分钟执行一次重启 30 2 * * 7 /usr/bin/cp /etc/fstab /tmp/fstab-date * * * /usr/bin/systemctl restart smb 0 23,0,1,2,3,4,5,6,7 * * * /usr/bin/systemctl restart smb 晚上11
-r删除当前用户的crontab -i表示删除crontab时的命令 每分钟执行命令 command 每小时的第3和第15分钟执行命令 3,15 * * * * commend 在上午8点到11 点的第3和第15分钟执行 3,15 8-11 * * * command 没两天执行一次 3,15 8-11 */2 * * command
计划任务的分类: 一次性计划任务:只执行一次 周期性计划任务:每隔一定的周期去做相同的事情 设置计划任务的工具:at、crontab at:专门处理一次性的计划任务 crontab:专门定义周期性计划任务 ,周期性循环做任务 batch:系统自行选择空闲时间去执行指定的任务 一.一次性计划任务at 系统服务路径:/etc/init.d/atd # root @ duiyi in ~ [20:24:36] $ systemctl start atd # root @ duiyi in ~ [20:25:11] $ systemctl status atd ● atd.service 控制用户执行计划任务:/etc/ cron.allow 、/etc/cron.deny 在at和crontab中不要使用标准输出,因为即使没有标准输出,也会以邮件方式发送给你,所以尽量不使用标准输出,可以
Quartz 是开源任务调度框架中的翘首,它提供了强大任务调度机制,同时保持了使用的简单性。Quartz 允许开发人员灵活地定义触发器的调度时间表,并可以对触发器和任务进行关联映射。此外,Quartz提供了调度运行环境的持久化机制,可以保存并恢复调度现场,即使系统因故障关闭,任务调度现场数据并不会丢失。此外,Quartz还提供了组件式的侦听器、各种插件、线程池等功能。
关于crontab的使用,可参考文章:Linux计划任务crontab详解 一、在Crontab中使用PHP执行脚本 就像在Crontab中调用普通的shell脚本一样(具体Crontab用法),使用PHP */10 * * * * /usr/bin/wget -q -O temp.txt http://3aj.cn/script.php 再介绍一下在Windows下php计划任务的实现 1、新建一个3aj.php > 2、新建3aj.bat文件,内容如下: C:\php\php.exe -q D:\web\3aj.php 3、建立WINDOWS计划任务: 开始–>控制面板–>任务计划–>添加任务计划 浏览文件夹选择上面的 4、右键点击计划任务 -> “运行”即可 再介绍一个使用php程序来实现的计划任务 这种效率并不高,也不稳定,使用 crontab 才是王道。 <?
1440 0.0 0.0 112720 980 pts/0 R+ 07:21 0:00 grep --color=auto crond [root@JX01 ~]# 1.3创建计划任务 #计划任务存储的位置 [root@JX01 ~]# ls /var/spool/cron/ root jack alice #管理计划任务的命令 crontab: -l Displays #计划任务书写的格式 .---------------- minute (0 - 59) | .-------------- hour (0 - 23) | | .------------ day of -- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat | | | | | * * * * * command #计划任务案例 这就是通常说的日志滚动(log rotation) logrotate本身不是系统守护进程,它是通过计划任务crond每天执行 #logrotate配置文件: 主文件:/etc/logrotate.conf
Linux上还是在Windows上都是不可或缺的,它帮助了我们运维人员减少手动操作的工作量;计划任务:scheduled task Linux下的任务调度分为两类:系统任务调度和用户任务调度。 fri /disk/monitor.sh #星期五的14点6分执行该脚本 #示例2.特殊字符使用 3,15 * * * * command #每小时的第3和第15分钟执行 3,15 8-11 */2 * * command #每隔两天的上午8点到11点的第3和第15分钟执行 3,15 8-11 * * 1 command #每个星期一的上午8点到11点的第3和第15分钟执行 45 4 1,10,22 * * /etc/init.d/smb restart # 每月1、10、22日的4 : 45重启smb 0 11 4 * mon-wed /etc/init.d/smb restart # 每月的4号与每周一到周三的11点重启smb 0 4 1 jan * /etc/init.d/smb restart # 一月一号的4点重启smb 31 10 */2 * *
(1)我们要用yum install -y vixie-cron这个命令进行安装计划任务服务,小伙伴们可以在安装之前使用crontab -e进行检测一下,服务器是否安装了这个服务! (2)安装之后呢,我们使用crontab -e 就可以添加我们的计划任务了,我给大家书写一些小例子: */1 * * * * /usr/bin/curl -o temp.txt http://www.baidu.com 0~6(0表示星期天) 第6列要运行的命令 (3)编好文件之后,按ESC键,之后(:wq)保存退出 (4)service crond restart 重启计划任务
Linux计划任务分为两类: 1、单次按计划执行,然后终止(at) 2、例行按计划执行,每隔一定周期循环执行(crontab) 单次执行计划任务 at at 命令的作用是在一个指定的时间执行1个指定任务 crontab 循环执行计划任务是由 cron(crond)这个系统服务来控制的,该服务默认启动,用户控制计划任务的命令是 crontab crontab -e 是针对用户来设计的,如要设计系统的计划任务 ,则需编辑 /etc/crontab cron 服务最低检测限制是【分钟】 命令格式: crontab 选项 # 选项 -e:编辑该用户的计划任务设置 -l:列出该用户的计划任务设置 -r:删除该用户的计划任务设置 command # 每小时的第1分执行1次command 1 * * * * command # 每小时的第3和第15分钟执行1次command 3,15 * * * * command # 在上午8点到11 点的第3和第15分钟执行1次command 3,15 8-11 * * * command # 每隔2天的上午8点到11点的第3和第15分钟执行1次command 3,15 8-11 */2 * *
计划任务分为一次性计划任务与长期性计划任务,可以按照如下方式理解。 一次性计划任务:今晚23:30重启网站服务 周期性计划任务:每周一凌晨3:25 把/home/wwwroot 目录打包备份为 backup.tar.gz。 一次性计划任务 一次性计划任务只执行一次,一般用于临时的工作需求。可以用 at 命令实现这种功能,只需要写成“at 时间”的形式就行。 创建、编辑计划任务的命令为 crontab -e,查看当前计划任务的命令为 crontab -l,删除某条计划任务的命令为 crontab -r。 可以使用 crontab -e 命令来创建计划任务,为自己创建计划任务时无须使用-u 参数。
我们经常使用的是crontab命令是cron table的简写,它是cron的配置文件,也可以叫它作业列表常用命令#服务开启service crond start#编辑计划任务crontab -e -u 用户名#查看计划任务crontab -l -u 用户名#删除计划任务:crontab -r -u 用户名相关文件我们可以在以下文件夹内找到相关配置文件:/var/spool/cron 个人执行的工作:某个用户定期要做的工作,例如每隔 10 分钟检查邮件服务器是否有新信,这些工作可由每个用户自行设置所有命令需要写成绝对路径形式,如: /usr/local/bin/docker使用者也可以将所有的计划任务设定先存放在文件中 30 6 */10 * * ls #意思是每月的1、11、21、31日是的6:30执行一次ls命令referLinux crontab 命令https://wangdoc.com/bash/startup.htmlLinux
每分钟执行 0 4 1 jan * 1月1号4:00 0 11 4 * mon-wed 每月的4号与每周一到周三的11点 # */1 * * * * root reboot 每分钟重启服务器 systemctl restart crond # 重启服务,开始执行计划任务
计划任务的安排方式分两种: 一种是定时性的,也就是例行。 4、删除计划任务 [root@localhost ~]# at 16:11 at> touch /home/he/ttt.txt at> <EOT> job 2 at Mon May 13 16:11: 00 2019 [root@localhost ~]# atq 2 Mon May 13 16:11:00 2019 a root #获取任务编号。 :00之间每隔30分钟重启network服务 */30 18-23 * * * systemctl restart network ( 日 月 周 没有指定) 问题4:每隔两天的上午8点到11 点的第3和第15分钟执行一次重启 3,15 8-11 */2 * * reboot (月和周没有指定) 如果要删除命令: [root@localhost ~]# crontab -r [root
等等 作为一名懒癌晚期患者,应该有坚决抵制重复的工作的觉悟,所以本周的编程课堂教大家使用 windows 自带的 计划任务 功能定时运行 Python 脚本。 1、打开界面: windows7 下 开始→控制面板→系统和安全→管理工具→任务计划 windows10 在左下角搜索栏直接输入 计划任务 ? 5、启动程序 这是计划任务中最关键的一步,设置的流程如下 ?
通过 cron 脚本能使计划任务定期地在系统后台自动运行。 cron 命令 crontab -e – 编辑该用户的 crontab,当指定 crontab 不存在时新建。 每天于 11:00, 16:00 执行,逗号两侧的时间都会执行。 00 11,16 * * * /home/ramesh/bin/incremental-backup 00 – 第 0 分钟 (每小时开时) 11,16 – 早上 11 点与下午 4 点 * – 每天 crontab Linux查看当前存在的计划任务命令是什么? 查看所有用户的crontab任务 Linux crontab 命令详解(含配置文件路径) linux计划任务之crontab Author: Frytea Title: 【简记】Linux 计划任务