linux中写定时任务
2023-04-18 16:42:45 时间
场景:我们生产环境中有大量的日志记录,但是我们的磁盘没有太大,需要定时清理磁盘
crond 定时任务详解
安装定时任务
yum install cronie
crontab服务启动与关闭
service crond start //启动服务
service crond stop //关闭服务
service crond restart //重启服务
service crond reload //重新载入配置
service crond status //查看crontab服务状态
crontab操作
crontab -l //查看当前用户的crontab;
crontab -e //编辑crontab;
crontab -r //删除crontab.
crontab 命令
格式:
* * * * * command
minute | hour | day | mouth | week | command |
---|---|---|---|---|---|
分 | 时 | 天 | 月 | 星期 | 命令 |
minute: 表示分钟,可以是从0到59之间的任何整数。
hour:表示小时,可以是从0到23之间的任何整数。
day:表示日期,可以是从1到31之间的任何整数。
month:表示月份,可以是从1到12之间的任何整数。
week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。
command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。
特殊字符:
星号():代表每的意思,例如month字段如果是星号,则表示每月都执行该命令操作。
逗号(,):表示分隔时段的意思,例如,“1,3,5,7,9”。
中杠(-):表示一个时间范围,例如“2-6”表示“2,3,4,5,6”。
正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如/10,如果用在minute字段,表示每十分钟执行一次。
举例
# 每分钟执行一次test.sh 并将日志打印到/usr/bks/common/test.log中
*/1 * * * * /usr/bks/common/test.sh >>/usr/bks/common/test.log 2>&1
test.sh
#!/bin/sh
# 进入指定目录
cd /usr/bks/common
#输出内容
echo "just test"
#输出当前时间,将当前事件追加到test1.txt这个文件中
echo `date` >> test1.txt
查看日志
错误:
问题原因:没有权限
sudo chmod +777 /usr/local/某路径/xxxx
错误2
错误原因:脚本格式问题,在windows系统中编写的脚本,修改格式
#1、使用vi工具
vi test.sh
#2、利用如下命令查看文件格式
:set ff 或 :set fileformat
#3、可以看到如下信息
#fileformat=dos 或 fileformat=unix
#4、利用如下命令修改文件格式
:set ff=unix 或 :set fileformat=unix
#5、存盘退出
:wq
正确示例
丢弃linux中的执行日志
#&>/dev/null 2>&1 在linux中是无底洞
*/1 * * * * /usr/bks/common/delLog.sh &>/dev/null 2>&1
Linux进入nano模式
出现如下情况说明进入了nano模式
G Get Help ^O Write Out ^W Where Is ^K Cut Text ^J Justify ^C Cur Pos M-U Undo M-A Mark Text M-] To Bracket M-Q Previous
^X Exit ^R Read File ^ Replace ^U Uncut Text ^T To Spell ^_ Go To Line M-E Redo M-6 Copy Text ^Q Where Was M-W Next
方式一
写入内容:
Ctrl + O
Enter (回车确定写入)
退出编辑:
Ctrl + X (没有更改文件内容时,按下即退出编辑器)
Enter (确定退出)
方式二
第二种 将 crontab nano 改为 vim 编辑器
直接定义变量指定 crontab 为 vim 编辑器
export EDITOR="/usr/bin/vim" ; crontab -e
相关文章
- (17)目标检测算法之 YOLOv8 算法改进详细解析
- SQL Server2008详细安装步骤(超详细步骤)
- SQL Server 2012 下载和安装详细教程
- 【C语言】八大排序算法
- 数据结构与算法系列之顺序表的实现
- 基于强化学习的智能机器人路径规划算法研究(附代码)
- 常见经典目标检测算法
- 手把手教你学-卡尔曼滤波(附代码)
- 高并发内存池项目(C++实战项目)
- <栈>的概念&结构&实现【C语言版】
- 【算法基础】高精度加法
- 肝通宵写了三万字把SQL数据库的所有命令,函数,运算符讲得明明白白讲解,内容实在丰富,建议收藏+三连好评!
- Mybatis-Plus高级查询LambdaQueryWrapper&QueryWrapper
- 应聘软件测试岗位需要掌握的基础知识与技能(面试常考内容)
- 瑞吉外卖项目实战
- Bellman-ford算法详解
- 基于遗传算法的BP神经网络优化算法(附代码)
- 基于Pytorch实现的图像分割算法: DeepLabV3+
- C语言实现快速排序算法
- 数据结构课设—C语言实现通讯录管理系统(顺序表实现)