执行crontab任务(linux计划任务(自动化执行任务的利器))

本文目录
- linux计划任务(自动化执行任务的利器)
- Linux crontab命令
- crontab定时任务
- 如何在win10下使用Ubuntu中的crontab自动执行任务
- 关于定时执行任务:Crontab的20个例子
linux计划任务(自动化执行任务的利器)
Linux计划任务是一种自动化执行任务的工具,它可以在指定的时间间隔内执行特定的任务,例如备份文件、清理日志、发送邮件等。Linux计划任务是Linux系统中非常重要的工具之一,它可以帮助我们自动化完成许多重复性的工作,提高工作效率。
Linux计划任务的使用方法
在Linux系统中,我们可以使用crontab命令来管理计划任务。crontab命令可以让我们创建、、查看和删除计划任务。下面是一些常用的crontab命令:
-crontab-e:当前用户的计划任务;
-crontab-l:列出当前用户的计划任务;
-crontab-r:删除当前用户的所有计划任务。
在计划任务时,我们需要使用特定的语法来指定任务的执行时间和要执行的命令。下面是一个示例:
```
00***/usr/bin/backup.sh
```
这个示例表示在每天的0点0分执行/usr/bin/backup.sh脚本。其中,星号(*)表示任意值,可以用来表示所有的时间单位。例如,星号在小时的位置表示每小时都会执行该任务。除了星号之外,我们还可以使用数字、逗号、减号等符号来指定具体的时间。例如:
-0:表示整点;
-*/5:表示每隔5个时间单位执行一次;
-1,3,5:表示在1、3、5这三个时间单位执行一次;
-1-5:表示在1到5这个时间段内每个时间单位都执行一次。
实际应用案例
下面是一个实际应用案例,我们将使用Linux计划任务来定时备份MySQL数据库。
首先,我们需要创建一个备份脚本,例如backup_mysql.sh:
```
!/bin/bash
DATE=`date+%Y%m%d`
mysqldump-uroot-p123456--all-databases》/var/backup/mysql_$DATE.sql
```
这个脚本会使用mysqldump命令备份所有的MySQL数据库,并将备份文件保存到/var/backup目录下,文件名为mysql_日期.sql。
接下来,我们使用crontab命令来创建一个计划任务,每天凌晨1点执行备份脚本:
```
crontab-e
```
在模式下,添加以下内容:
```
01***/bin/bash/usr/local/bin/backup_mysql.sh
```
保存并退出模式。现在,我们已经成功创建了一个每天凌晨1点执行备份脚本的计划任务。
Linux crontab命令
Linux crontab命令 被用来提交和管理用户的需要周期性执行的任务,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。
crontab文件:指定包含待执行任务的crontab文件。
Linux下的任务调度分为两类:系统任务调度和用户任务调度。
系统任务调度:系统周期性所要执行的工作,比如写缓存数据到硬盘、日志清理等。在/etc目录下有一个crontab文件,这个就是系统任务调度的配置文件。
/etc/crontab文件包括下面几行:
前四行是用来配置crond任务运行的环境变量,第一行SHELL变量指定了系统要使用哪个shell,这里是bash,第二行PATH变量指定了系统执行命令的路径,第三行MAILTO变量指定了crond的任务执行信息将通过电子邮件发送给root用户,如果MAILTO变量的值为空,则表示不发送任务执行信息给用户,第四行的HOME变量指定了在执行命令或者脚本时使用的主目录。
用户任务调度:用户定期要执行的工作,比如用户数据备份、定时邮件提醒等。用户可以使用 crontab 工具来定制自己的计划任务。所有用户定义的crontab文件都被保存在/var/spool/cron目录中。其文件名与用户名一致,使用者权限文件如下:
/etc/cron.deny 该文件中所列用户不允许使用crontab命令
/etc/cron.allow 该文件中所列用户允许使用crontab命令
/var/spool/cron/ 所有用户crontab文件存放的目录,以用户名命名
crontab文件的含义:用户所建立的crontab文件中,每一行都代表一项任务,每行的每个字段代表一项设置,它的格式共分为六个字段,前五段是时间设定段,第六段是要执行的命令段,格式如下:
minute hour day month week command 顺序:分 时 日 月 周
其中:
在以上各个字段中,还可以使用以下特殊字符:
/sbin/service crond start //启动服务
/sbin/service crond stop //关闭服务
/sbin/service crond restart //重启服务
/sbin/service crond reload //重新载入配置
查看crontab服务状态:
service crond status
手动启动crontab服务:
service crond start
查看crontab服务是否已设置为开机启动,执行命令:
ntsysv
加入开机自动启动:
chkconfig –level 35 crond on
每1分钟执行一次command
每小时的第3和第15分钟执行
在上午8点到11点的第3和第15分钟执行
每隔两天的上午8点到11点的第3和第15分钟执行
每个星期一的上午8点到11点的第3和第15分钟执行
每晚的21:30重启smb
每月1、10、22日的4 : 45重启smb
每周六、周日的1:10重启smb
每天18 : 00至23 : 00之间每隔30分钟重启smb
每星期六的晚上11:00 pm重启smb
每一小时重启smb
晚上11点到早上7点之间,每隔一小时重启smb
每月的4号与每周一到周三的11点重启smb
一月一号的4点重启smb
每小时执行/etc/cron.hourly目录内的脚本
crontab定时任务
Linux系统下提供了一个非常有用的定时任务命令crontab,我们可以在固定的间隔时间执行指定的系统指令或 shell script脚本。时间间隔的单位可以是分钟、小时、日、月、周及以上的任意组合。这个命令非常适合周期性的日志分析或数据备份等工作。
文件格式:
看一个例子:
第1列:分钟0~59
第2列:小时0~23(0表示子夜)
第3列:日1~31
第4列:月1~12
第5列:星期0~7(0和7表示星期天)
第6列:要运行的命令
对于每一列,有如下格式:
所以上面的例子是每分钟将时间重写向到/tmp/cron.log文件中。
创建一个名为《user》 cron的文件,其中《user》是用户名,例如, davecron在该文件中加入如下的内容:
在上面的例子中,系统将每隔1分钟向/tmp/cron.log写入一次当前时间。如果系统崩溃或挂起,从最后所显示的时间就可以一眼看出系统是什么时间停止工作的。为了提交你刚刚创建的crontab文件,可以把这个新创建的文件作为cron命令的参数:
注: 最好在crontab文件的每一个条目之上加入一条注释,这样就可以知道它的功能、运行时间,更为重要的是,知道这是哪位用户的定时作业。
实例1:每1分钟执行一次cmd
实例2:每小时的第3和第15分钟执行
实例3:在上午8点到11点的第3和第15分钟执行
实例4:每隔两天的上午8点到11点的第3和第15分钟执行
实例5:每周一上午8点到11点的第3和第15分钟执行
实例6:每晚的21:30执行
实例7:每月1、10、22日的4 : 45执行
实例8:每周六、周日的1 : 10执行
实例9:每天18 : 00至23 : 00之间每隔30分钟执行
实例10:每星期六的晚上11 : 00 pm执行
实例11:每一小时执行
实例12:晚上11点到早上7点之间,每隔一小时执行
如何在win10下使用Ubuntu中的crontab自动执行任务
1.打开Microsoft Store,搜索ubuntu,选择其一(我选了第一个),点击获取,耐心等待安装即可;
2.安装完成可在开始栏找到;
1.打开ubunutu后,输入以下命令,启动cron服务,只有开启这个服务,才可以使用crontab,并且此服务在关闭ubuntu后仍处于开启状态;
关闭此服务也很简单:
重启自然就是:
2.输入以下命令进入crontab文本页面;
进来以后是这个样子,全是注释:
需要关注的就是最后一行,这行就是一个你要执行的操作的模板
m表示minute(分钟),h表示hour(小时),dom表示day of month(日),mon表示month(月),dow表示day of week(星期)command表示你要定时执行的命令
需要注意的是0代表星期日,其他数字几就代表星期几
以上5个时间词,可自由搭配,不需要的就输入 *
3.demo:每天早上8点在桌面自动输出一个TODOList.txt文件,用于提示我每天必须要做的事;
输出文本重定向的路径是我win10桌面的路径,你需要替换为你桌面的路径
至此就完成了在win10下使用crontab来自动输出TODOList.txt!
关于定时执行任务:Crontab的20个例子
Linux crontab和Windows task schedules非常的相似。Crontab可以用来在系统中定期的执行任务。比如:写了一个爬虫需要每天早上八点执行,就可以用到Crontab;安装的Tomcat服务器需要每天凌晨重启一次,也可以使用到Crontab。总之,几乎所有的定时任务,我们都可以通过Crontab这个工具来完成。
默认情况下,系统会当前登录用户的crontab命令集合。需要其他用户的命令集合,需要使用到如下的命令
在每周五、周日的17点执行任务
@yearly 类似于“0 0 1 1 *”。它会在每年的第一分钟内执行,通常我们可以用这个发送新年的问候。
然后:备份cron到文件中
接着:移除当前的cron
恢复:从text file中恢复
Crontab in Linux with 20 Useful Examples to Schedule Jobs

更多文章:
java外包用的比较多技术(java后端程序员最常用的技术有哪些,重点技术有哪些)
2026年5月22日 18:30
clip converter(用ClipConverter下载的youku视频在电脑哪个文件夹)
2026年8月24日 21:15
chmod修改权限(ubuntu linux下使用 chmod 修改文件权限,命令后提示【缺少操作数】,求解决方法)
2025年8月3日 09:30
neighborhood在哪买(香港潮牌店铺推荐去香港买什么好)
2026年6月6日 23:00
richtextbox用法(怎样使用C#的RichTextBox控件)
2026年2月13日 20:45
js replace 正则表达式(求一个js正则表达式:替换html内容中除了标签外的特定字符为另外一个字符.)
2025年9月5日 03:00
rock什么意思中文意思(rock是什么意思 rock的中文翻译、读音、例句)
2026年9月6日 10:30
衣香丽影同档次的品牌(太平鸟,伊芙丽,衣香丽影,红袖三彩哪家好)
2026年8月15日 07:15
excel怎么用round保留一位小数(excel如何保留一位小数)
2025年12月21日 16:45
c语言数组元素求和(c语言求数组元素的总和!求助各位大佬!)
2025年9月7日 00:30













