linux常用命令三(find)

#!/bin/bash和#!/usr/bin/env bash区别

区别:#!/bin/bash是一定存在的,#!/usr/bin/env bash在不同系统上的移植性更好,因为它会从用户定义的PATH中寻找bash解释器,但是可能会不存在。

find命令及日志定时清理

以下示例删除三个目录下及其子目录30天前的日志文件
定义日志清理脚本:clean_logs.sh

#!/usr/bin/env bash

find -L /home/admin/nginx/logs/ -type f  -mtime +30 -exec  /bin/rm -rf "{}" \;
find -L /home/admin/yourapp/logs/ -type f  -mtime +30 -exec  /bin/rm -rf "{}" \;
find -L /home/admin/logs/ -type f  -mtime +30 -exec  /bin/rm -rf "{}" \;

将脚本拷贝到/etc/cron.daily目录下,每天定时执行

cp /tmp/clean_logs.sh /etc/cron.daily/clean_logs.sh
chmod +x /etc/cron.daily/clean_logs.sh

具体什么几点执行可以查看文件

cat /etc/crontab //查看定时时间设置
列出当前目录及其子目录中所有一般文件
# find . -type f
查找/var/log目录中更改时间在7日以前的普通文件,并在删除之前询问它们
# find /var/log -type f -mtime +7 -ok rm {} \;
列出当前目录及其子目录下所有最近 20 天内更新过的文件
# find . -ctime -20

猜你喜欢

转载自blog.csdn.net/chang_li/article/details/81532791