centos服务器常用清理脚本分享
作者:GIS开发者
做开发时,经常遇到服务器监控报警,日志占据大量的磁盘空间,需要清理,每次手动清理很麻烦,这里分享一些定时清理的脚本,减轻运维的工作量,这篇文章主要介绍了centos服务器常用清理脚本分享,需要的朋友可以参考下
做开发时,经常遇到服务器监控报警,日志占据大量的磁盘空间,需要清理。每次手动清理很麻烦。这里分享一些定时清理的脚本,减轻运维的工作量。将sh
脚本与crontab
定时任务结合,实现定时清理。
nacos日志清理脚本
nacos也是服务器上的日志大户,需要经常清理
#! \bin\bash ###用于定时清除nacos今天之前的日志文件 date=`date -d "$date -1 day" +"%Y-%m-%d"` delFilePath="/root/nacos/bin/logs/access_log.${date}.log" if [ -f "${delFilePath}" ];then rm -rf ${delFilePath} fi rm -rf /root/nacos/logs/*.log.*.0
nohup.out文件清理
整个服务器检索,大于100M就清空
#!/bin/sh # 脚本启动信息 echo "Starting to clear large nohup.out files in /data and /root directories..." # 检查是否具有执行权限 if [ "$(id -u)" -ne 0 ]; then echo "Error: Please run as root or with sudo." exit 1 fi # 查找并处理大于100MB的nohup.out文件 find_result=$(find /data /root /home /mnt -name 'nohup.out' -type f -size +100M) if [ -z "$find_result" ]; then echo "No nohup.out files larger than 100MB found in /data and /root." else echo "Found the following large nohup.out files:" echo "$find_result" echo "Clearing their contents..." find /data /root /home /mnt -name 'nohup.out' -type f -size +100M -exec sh -c ' if [ -s "$0" ]; then echo "Clearing content of $0..." echo "" > "$0" echo "Content of $0 has been cleared." else echo "$0 is empty, no action needed." fi ' {} \; fi # 脚本结束信息 echo "Script completed. All large nohup.out files in /data and /root have been processed." # 注意: # 1. 确保仅在必要时以root权限运行此脚本。 # 2. 脚本现在只在/data和/root目录下搜索符合条件的文件,提高了效率和安全性。
内存清理
#!/bin/bash echo "开始清理缓存" sync;sync;sync #写入硬盘,防止数据丢失 sleep 10 #延迟10秒 echo 1 > /proc/sys/vm/drop_caches echo 2 > /proc/sys/vm/drop_caches echo 3 > /proc/sys/vm/drop_caches echo "清理结束"
定时任务操作命令
crontab -l # 查询定时任务列表 crontab -e #编辑当前用户的定时任务,wq保存退出,会自动保存到/var/spool/cron文件中 chmod 777 clear_nohup.sh # 给sh文件授权 tail -300 /var/log/cron # 查看定时任务日志 /sbin/service crond reload # 重新加载定时任务配置
注意
- 使用创建sh文件时,一定要在服务器上创建。使用windows电脑创建,容易格式不同,无法执行
- 注意设置
crond
的开机启动
到此这篇关于centos服务器常用清理脚本分享的文章就介绍到这了,更多相关centos服务器清理脚本内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!