什么是计划任务?对于计算机运维人员来说,很多命令都是要重复执行的,这些重复执行的指令流程我们可以编写shell脚本统一执行,然而很多时候脚本要定时执行,比如每天某个时间执行一次数据库备份或者git统一push最新的代码 。
运维人员不是机器,每天面临如此多的计划,要预先选择一个记事本或者电子文档记录,还得定一个闹钟提醒,按时执行指令,这样是非常耗时且繁琐的,而且可能面临突发情况比如堵车迟到、身体原因等耽搁计划执行 。
因此,我们可以用计算机的计划任务功能,自动定时执行我们的特定需求 。
Windows系统计划任务选择桌面计算机图标,鼠标右键-管理,打开任务计划程序,选择创建任务:
设置任务名称:
新建触发器,设置任务执行周期和时间:
操作-选择程序路径:
在任务计划程序库查看新建的任务:
Linux中计划任务检测cron服务是否已经启动:
cron 的所有任务计划都记录在 crontab 任务计划文件中,通过 crontab 命令对该任务文件进行管理 。
语法格式:
# crontab [选项]
参数说明:任务计划的语法格式如下:
-u user 指定用户
-e 编辑某个用户的计划任务文件,若不指定用户,默认编辑当前用户的计划任务文件
-l 显示某个用户的计划任务文件,若不指定用户,默认显示当前用户的计划任务文件
-r 删除某个用户的计划任务文件,若不指定用户,默认删除当前用户的计划任务文件
-i 在删除之前推送确认提示
分时日月周要执行的命令(要求必须使用命令的完整路径,可以使用which查看)取值范围:分:0~59时:0~23日:1~31月:1~12周:0~7,0 和 7 表示星期天四个符号:*:表示取值范围中的每一个数字-:做连续区间表达式的,要想表示1~7,则可以写成:1-7/:表示每多少个,例如:想每 10 分钟一次,则可以在分的位置写:*/10,:表示多个取值,比如想在 1 点,2 点 6 点执行,则可以在时的位置写:1,2,6
crontab样例第一次编写计划任务,提示选择编辑器,之后更改编辑器可以运行select-editor:
然后每隔一分钟向test.txt写入一行字符串:
注意下方的文件名,在tmp临时文件夹,这个并不是实际的文件,因为tmp重启后会消失 。
实际的文件夹是:/var/spool/cron/crontabs/,默认只能root编辑,还可以用root账户设置黑名单和白名单,控制其他用户是否可以编辑,白名单优先级高于黑名单优先级 。
推荐阅读
- 什么是域
- 缓期执行分几种
- 简述计算机网络的基本结构及特点
- 简述计算机的应用领域
- 简述计算机网络安全的重要性
- 简述计算机安全的三种类型
- 简述计算机有哪些特点
- 简述计算机发展的五个时代
- 简述计算机网络的四个发展史
- 计算机密码破解方法 怎么破解电脑密码