Linux crond 计划任务添加
时间:2022-07-25
本文章向大家介绍Linux crond 计划任务添加,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
############ crond 服务命令 ############
/sbin/service crond start # 启动服务
service crond status # 查看状态
/sbin/service crond stop # 关闭服务
/sbin/service crond restart # 重启服务
/sbin/service crond reload # 重新载入配置
chkconfig –level 35 crond on # 加入开机启动
ntsysv # 查看状态
cd /etc/logrotate.d/ # 处理任务的路径
less syslog # 查看系统日志
ls /etc/ | grep cron* # 过滤cron 任务路径
cron.d # 同路径2 ,可以写定时任务
cron.deny # 控制普通用户使用定时任务crontab
############ crond 基本用法 ############
crontab [-u user] file
crontab [-u user] [ -e | -l | -r ]
(default operation is replace [dɪˈfɔlt] 默认 [ˌɑpəˈreʃn] 操作 是 [ˌriˈples] 替换)
-e (edit user's crontab [ˈɛdət] 编辑 [ˈjuzər] 用户的 )
-l (list user's crontab [lɪst] 列出 用户的 )
-r (delete user's crontab [dɪˈlit] 删除 用户的 )
-i (prompt before deleting user's crontab [prɑmpt] 提示 [bɪˈfɔr] 以前 [dɪ'litɪŋ] 删除 用户的
删除用户前的提示)
-s (selinux context [ˈkɑntɛkst] 环境)
-r 删除某个用户的cron服务(慎用)
############ cat /etc/crontab ############
SHELL=/bin/bash # 变量指定了系统要使用哪个shell,这里是bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
# PATH变量指定了系统执行命令的路径
MAILTO=root # mail to电子邮件任务执行信息发送给root用户
# For details see man 4 crontabs
# details ['di:teɪlz] 详情,see [siː] 领悟,参见
# Example of job definition: 工作定义示例
# [ɪgˈzæmpəl] 示例, [ʌv] 属于...的, [ʤɑb] 工作, [ˌdɛfəˈnɪʃən] 定义
# .---------------- minute (0 - 59) [ˈmɪnɪt] 分钟
# | .------------- hour (0 - 23) [ˈaᴜər] 小时
# | | .---------- day of month (1 - 31) [de] 天,[ʌv] 属于...的,[mʌnθ] 月:每月的第几天
# | | |
# | | | .------- month (1 - 12) [mʌnθ] 月,1到12月
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7)
# | | | | | [wik] 周, 周的第几天:星期几;
# | | | | |
# * * * * * user-name command to be executed
用户名字, [kəˈmænd] 命令, [tu bi] 的, ['ɛksɪ,kjʊtɪd] 执行
# 分 时 日 月 周 命令
1 * * * * # 每小时的第一分钟,小时:1分 如:1:01 2:01 3:01 为等效于每小时,是属于时钟
# 星号(*) 代表所有可能的值
# 逗号(,) 列表范围: 1,2,3,4
# 中杠(-) 整数范围1到4: 1-4
# 正斜线(/) 时间的间隔频率: 0-23/2 每两个小时执行一次
5 * * * * Command 每小时的第5分钟执行一次命令
30 18 * * * Command 指定每天下午的 6:30 执行一次命令
30 7 8 * * Command 指定每月8号的7:30分执行一次命令
30 5 8 6 * Command 指定每年的6月8日5:30执行一次命令
30 6 * * 0 Command 指定每星期日的6:30执行一次命令
1 * * * * root 每分钟执行
0 4 1 jan * 1月1号4:00
0 11 4 * mon-wed 每月的4号与每周一到周三的11点
mon 星期1; wed 星期3
20-30/1 1-10/5 * * * # 1点的20-30分和6点的20-30分执行
# 注意开始时间也要执行,先有时间,然后才有间隔
一月 January [ˈʤænjuˌɛri] 八月 August
二月 February [ˈfɛb(j)uˌɛri] 九月 September
三月 March 十月 October
四月 April 七月 July
五月 May 十一月 November
六月 June 十二月 December
星期一Monday 星期二Tuesday
星期三Wednesday 星期四Thursday
星期五Friday 星期六Saturday
星期天Sunday
注意:
数字的表示最好用2为阿拉伯数字显示
周和日最好不要同时用
定时任务要加注解
可以定向到日志文件或者空文件
定时任务一定是绝对路径,且目录必须存在才能出结果
crontab 服务一定要开启运行
############ crond 定义定时任务 ############
vi /etc/crontab # 编辑任务配置文件,追加一行任务
*/1 * * * * root /root/1.sh
# 每 1分钟执行一次,root 用户的任务,是:执行脚本/root/1.sh
# 直接将 /root/1.sh 修改为命令即可,如:echo "1111" >> 1.txt
# */1 * * * * root reboot 每分钟重启服务器
systemctl restart crond # 重启服务,开始执行计划任务
vi 1.sh
#!/bin/bash
# catalog=( # 素组的格式是小括号:请将IP地址放置括号内,分隔符是换行或者空格
# 111
# 222
# )
# catalog[$i] # 指定数组角标对应的元素
# ${#filecatalog[*]} # 素组元素个数
read -p "请输入目录:" catalog
# [ˈkætəlɔg]目录
filecatalog=(
$(ls $catalog)
)
quantity=${#filecatalog[*]} # [ˈkwɑn(t)ədi] 数量;kuan t ti
echo "当前目录(数组)中文件个数数量为:$quantity"
frequency=$quantity # [ˈfrikwənsi] 次数; fei ou kuan si
for((i=1;i<=$frequency; i++))
do
sleep 1
echo "
`date`
正在依次打印改目录的的文件信息: ${filecatalog[$i]}
"
done
sed -i "/^$/d" 1.sh ; chmod 755 1.sh
# =========
其他方式执行命令:
crontable -e #写入命令
crontable -l #查看记录
- 敲一天代码了,轻松下吧,精彩 !看人潮如海
- MongoDB副本集其他细节
- 数据库表设计对性能的影响
- V部落博客管理平台开源啦! Vue+SpringBoot强强联合!
- SpringBoot+SpringSecurity处理Ajax登录请求
- MongoDB副本集配置
- MongoDB副本集搭建
- vhr部门管理数据库设计与编程
- SpringBoot+Vue前后端分离,使用SpringSecurity完美处理权限问题(六)
- 权限管理模块中动态加载Vue组件
- axios请求封装和异常统一处理
- SpringSecurity中密码加盐与SpringBoot中异常统一处理
- SpringBoot+Vue前后端分离,使用SpringSecurity完美处理权限问题(二)
- SpringBoot+Vue前后端分离,使用SpringSecurity完美处理权限问题(一)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法