网站首页 > 技术文章 正文
删除shell
find /opt/soft/log/ -mtime +30 -name "*.log" -exec rm -rf {} \;
- 1
说明:
将/opt/soft/log/目录下所有30天前带”.log”的文件删除。具体参数说明如下:
find:linux的查找命令,用户查找指定条件的文件;
/opt/soft/log/:想要进行清理的任意目录;
-mtime:标准语句写法;
+30:查找30天前的文件,这里用数字代表天数;
-name: 固定写法;
“.log”:希望查找的数据类型,”.jpg”表示查找扩展名为jpg的所有文件,”*”表示查找所有文件,这个可以灵活运用,举一反三;
-exec:固定写法;
rm -rf:强制删除文件,包括目录;
{} \; :固定写法,一对大括号+空格++;
定时任务
新建文件 shell 文件auto-del-30-day-log.sh 在home/test/bin目录下
touch auto-del-30-day-log.sh
vi auto-del-30-day-log.sh
- 1
- 2
把
find /opt/soft/log/ -mtime +30 -name "*.log" -exec rm -rf {} \;
- 1
写进去
crontab -e 这个指令 i,进入shell脚本编辑状态
10 0 * * * /home/test/bin/auto-del-30-day-log.sh>/dev/null 2>&1
- 1
“/dev/null 2>&1”表示先将标准输出重定向到/dev/null,然后将标准错误重定向到标准输出,由于标准输出已经重定向到了/dev/null,因此标准错误也会重定向到/dev/null,这样日志输出问题就解决了。
10 0 * * * 表示每天0点10分执行这个删除脚本
分 小时 日 月 星期
0-59 0-23 1-31 1-12 0-6
特殊符号:* 范围的所有数字, / 每 , - 范围 , ‘,’集合
每隔30分钟,每天晚上的凌晨3点-5点:/30 3-5 * *
每30分钟执行一次任务 /30 * * *
使用crontab -l 查看当前用户下正在执行的定时任务
crontab -l
- 1
最最重要的一点,如果全部可以但是就是未见执行,要考虑当前用户是否有操作shell脚本的权限
赋权
chmod 777 auto-del-30-day-log.sh
猜你喜欢
- 2024-09-11 Linux系统中共有7种文件类型,您了解吗?
- 2024-09-11 如何优雅地删除 Linux 中的垃圾文件
- 2024-09-11 Linux中如何删除常用方式无法删除的文件
- 2024-09-11 linux下目录操作——进入、显示、复制、移动
- 2024-09-11 Linux 删除空目录(linux中删除空目录)
- 2024-09-11 linux下删除包含特殊符号的文件或目录
- 2024-09-11 Linux下的文件和目录(linux文件与目录的基本操作)
- 2024-09-11 Linux rmdir命令:删除空目录(linux删除一个空目录)
- 2024-09-11 Linux 误删文件恢复命令及方法(linux 误删文件恢复命令及方法是什么)
- 2024-09-11 如何在 Linux 中删除大于或小于 X 大小的文件
- 最近发表
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)