df -h 查看磁盘 常用维护方法,清理磁盘
du -h --max-depth=1 查看当前目录 ,哪个文件占用最大
du -sh * 查看当前目录下的文件/目录大小
查找大文件和大目录,手动rm -rf 文件名删除
清除磁盘,,清楚日志 cp /dev/null nohup.out 置空日志
清理磁盘
1.apt清理缓存 sudo apt-get autoclean 清理旧版本的软件缓存
sudo apt-get clean 清理所有软件缓存
sudo apt-get autoremove 删除系统不再使用的孤立软件
2.清除临时文件tmp ~/tmp
3.清除日志文件,nginx和tomcat下的log nohup.out .log .out
4.清空回收站命令 rm -rf /www/trash/*
5.清除大文件无用包
强制删除10天前的无用日志命令(不推荐)
sudo find /var/log/nginx -mtime +10 -name "*.gz" -exec rm -rf {} \;
置空10天前的无用日志命令(不推荐)10天前的无用日志命令(推荐)
sudo find /var/log/nginx -mtime +10 -name "*.gz" -exec truncate --size 0 {} \;
sudo find /var/log/nginx -mtime +10 -name "*.log" -exec truncate --size 0 {} \;
或者 -o -name "*.log"
sudo find /var/log/nginx -mtime +10 -name "*.gz" -o -name "*.log" -exec truncate --size 0 {} \;
使用遍历目录树的清空磁盘
定时任务
添加可执行权限
sudo chmod +x clear_nginx_log.sh
添加Linux计划任务
sudo crontab -e 需要添加root权限的
#每天0点执行日志清理脚本
0 0 * * * sh /var/log/nginx/clear_nginx_log.sh
清理nginx日志
#!/bin/bash
# 定期清空十天前的日志文件
find /var/log/nginx -mtime 10 -type f -name \*.log.* -exec truncate --size 0 {} \;
已经有的--定时任务
16 * * * * find /usr/local/servers -name "*.log" -o -name "*.log.*" -o -name "*.out" -size +100M|xargs truncate --size 0
0 4 * * * cd "/home/rongyi" && sh clear.sh
0 0 * * *
自己写的定时任务 下的/var/log/ 还有/var/log/nginx 下的日志清空
16 * * * * find /usr/local/servers -mtime +10 -name "*.log" -o -name "*.log.*" -o -name "*.out" -size +100M|xargs truncate --size 0
16 * * * * find /usr/local/servers -name "*.log" -o -name "*.log.*" -o -name "*.out" -o -name "*_log.*" -size +100M|xargs truncate --size 0
清测有效:清理tomcat日志
sudo find /usr/local/servers -name "*.log" -o -name "*.log.*" -o -name "*.out" -size +100M|xargs truncate --size 0
/var/log/nginx nginx日志
/usr/local/servers tomcat日志
清除/var/log/nginx/下的error.log 和access.log
#!/bin/bash
# 先复制原来的错误日志文件,请根据自己实际的日志路径填写
sudo cp /var/log/nginx/error.log /var/log/nginx/error-$(date -d "yesterday" +"%Y%m%d").log
# 清空错误日志文件
find /var/log/nginx -name error.log -exec truncate --size 0 {} \;
# 先复制原来的访问日志
sudo cp /var/log/nginx/access.log /var/log/nginx/access-$(date -d "yesterday" +"%Y%m%d").log
# 清空原来的正常访问日志
find /var/log/nginx -name access.log -exec truncate --size 0 {} \;
# 定期删除七天前的日志文件
find /var/log/nginx -mtime 7 -type f -name \*.log | xargs rm -f