Linux crontab命令:定时执行任务
2023-06-13 09:14:23 时间
Linux crontab(英文全拼:cron table)是用来定期执行程序的命令,当安装完成操作系统之后,默认便会启动此任务调度命令。
crond 进程每分钟会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。
注意:新创建的 cron 任务,不会马上执行,至少要过 2 分钟后才可以,当然你可以重启 cron 来马上执行。
linux 任务调度的工作主要分为以下两类:
- 系统执行的工作:系统周期性所要执行的工作,如备份系统数据、清理缓存
- 个人执行的工作:某个用户定期要做的工作,例如每隔10分钟检查邮件服务器是否有新的邮件,这些工作可由每个用户自行设置
语法格式:crontab [参数]
常用参数:
-e | 编辑该用户的计时器设置 |
---|---|
-l | 列出该用户的计时器设置 |
-r | 删除该用户的计时器设置 |
-u | 指定要设定计时器的用户名称 |
–help | 显示帮助信息 |
参考实例
创建、编辑计划任务:
[root@bunian ~]# crontab -e
查看当前计划任务:
[root@bunian ~]# crontab -l
删除某条计划任务:
[root@bunian ~]# crontab -r
在正式创建计划任务前,我们首先来了解一下使用crond服务设置任务的参数格式
PS:如果有些字段没有设置,则需要使用星号 * 占位
minute hour day month week command 顺序:分 时 日 月 周 命令
使用crond设置任务的参数字段说明:
minute | 表示分钟,是从0到59之间的任何整数 |
---|---|
hour | 表示小时,是从0到23之间的任何整数 |
day | 表示日期,是从1到31之间的任何整数 |
month | 表示月份,是从1到12之间的任何整数 |
week | 表示星期,是从0到7之间的任何整数,其中0或7代表星期日 |
command | 要执行的命令,可以是系统命令,也可以是自己编写的脚本文件 |
下面举几个具体的例子:
* * * * * /bin/ls //每一分钟执行一次 /bin/ls
0 6-12/3 * 12 * /usr/bin/backup //在 12 月内, 每天的早上 6 点到 12 点,每隔 3 个小时 0 分钟执行一次 /usr/bin/backup
0 17 * * 1-5 mail -s "hi" bunian@domain.name < /tmp/maildata //周一到周五每天下午 5:00 寄一封信给 bunian@domain.name
20 0-23/2 * * * echo "hello" //每月每天的午夜 0 点 20 分, 2 点 20 分, 4 点 20 分....执行 echo "hello"
0 */2 * * * /sbin/service httpd restart //每两个小时重启一次apache
50 7 * * * /sbin/service sshd start //每天7:50开启ssh服务
50 22 * * * /sbin/service sshd stop //每天22:50关闭ssh服务
0 0 1,15 * * fsck /home //每月1号和15号检查/home磁盘
1 * * * * /home/bruce/backup //每小时的第一分执行 /home/bruce/backup这个文件
00 03 * * 1-5 find /home "bunian.txt" -mtime +4 -exec rm {} \; //每周一至周五3点钟,在目录/home中,查找文件名为bunian.txt的文件,并删除4天前的文件。
30 6 */10 * * ls //意思是每月的1、11、21、31日是的6:30执行一次ls命令
每周二、四、六的凌晨1点30分,使用tar命令把某个网站的数据目录进行打包处理,使其作为一个备份文件。我们使用crontab -e命令来创建计划任务。为自己创建计划任务无需使用-u参数,具体的实现效果的参数如crontab -l命令结果所示:
[root@bunian ~]# crontab -e
no crontab for root - using an empty one
crontab: installing new crontab
[root@bunian ~]# crontab -l
30 1 * * 2,4,6 /usr/bin/tar -czvf backup.tar.gz /home/wwwroot
相关文章
- Linux上搭建Web浏览器的模拟技术(linux模拟浏览器)
- Linux命令快速在线学习指南(linux命令在线)
- 执行脚本Linux脚本下无需登录即可实现任务(linux免登陆)
- Linux如何配置存储设备(linux如何挂存储)
- Linux终端命令快速完成指南(linux终端命令大全)
- Linux下快速修改IP地址的命令指南(linux修改ip地址命令)
- 系统信息深入探索Linux系统信息:精彩不容错过!(怎么查看linux)
- 的使用Linux下GCC命令的简单使用方法(linux下gcc命令)
- 的学习学习Linux下的RPM命令(linux下rpm命令)
- Linux系统下拷贝目录的命令介绍(linux拷贝目录命令)
- Linux下文件查找命令:快速定位文件(linux文件查找命令)
- 解锁Linux之路:学习sudo命令(linux命令sudo)
- Linux路由生效:突破技术阻碍的关键步骤(linux路由生效)
- 熟悉echo,Linux使用轻松搞定(linux下echo命令)
- 揭秘Linux任务栈:最强大的计算机操作系统(linux任务栈)
- Linux培训:哪家最值得推荐?(linux培训那家好)
- 命令初探Linux中的ls命令(linux-ls)
- Linux下改变文件名的简易方法(linux改文件名命令)
- Linux命令行快速学习:视频教程(linux命令教程视频)
- Linux下如何调试PHP程序(linux调试php)
- 学习Linux命令行应用是必备技能(linux命令app)
- Linux 期末考试:检验技能与挑战极限(linux期末考试)
- Linux下的文件链接管理指令(linux文件链接命令)
- 探索Linux系统版本: 查看命令大全(linux查看版本的命令)
- 使用bc命令实现高精度计算——深入探索Linux中的bc(linux中bc)
- Linux下查看进程信息的命令总结(linux 显示进程命令)
- 如何熟练掌握 Linux 命令:25 个关键词汇总(linux命令怎么用)
- 命令Linux cmd命令:丰富多彩的操作体验(linux的cmd)
- Linux下使用:有趣的命令探索之旅(linux 有趣的命令)