• 设为首页
  • 收藏本站
  • 积分充值
  • VIP赞助
  • 手机版
  • 微博
  • 微信
    微信公众号 添加方式:
    1:搜索微信号(888888
    2:扫描左侧二维码
  • 快捷导航
    福建二哥 门户 查看主题

    centos服务器常用清理脚本分享

    发布者: 晋3555 | 发布时间: 2025-8-16 07:12| 查看数: 24| 评论数: 0|帖子模式

    做开发时,经常遇到服务器监控报警,日志占据大量的磁盘空间,需要清理。每次手动清理很麻烦。这里分享一些定时清理的脚本,减轻运维的工作量。将
    1. sh
    复制代码
    脚本与
    1. crontab
    复制代码
    定时任务结合,实现定时清理。

    nacos日志清理脚本

    nacos也是服务器上的日志大户,需要经常清理
    1. #! \bin\bash
    2. ###用于定时清除nacos今天之前的日志文件
    3. date=`date -d "$date -1 day" +"%Y-%m-%d"`
    4. delFilePath="/root/nacos/bin/logs/access_log.${date}.log"
    5. if [  -f "${delFilePath}" ];then
    6.     rm -rf ${delFilePath}
    7. fi
    8. rm -rf /root/nacos/logs/*.log.*.0
    复制代码
    nohup.out文件清理

    整个服务器检索,大于100M就清空
    1. #!/bin/sh
    2. # 脚本启动信息
    3. echo "Starting to clear large nohup.out files in /data and /root directories..."
    4. # 检查是否具有执行权限
    5. if [ "$(id -u)" -ne 0 ]; then
    6.     echo "Error: Please run as root or with sudo."
    7.     exit 1
    8. fi
    9. # 查找并处理大于100MB的nohup.out文件
    10. find_result=$(find /data /root /home /mnt -name 'nohup.out' -type f -size +100M)
    11. if [ -z "$find_result" ]; then
    12.     echo "No nohup.out files larger than 100MB found in /data and /root."
    13. else
    14.     echo "Found the following large nohup.out files:"
    15.     echo "$find_result"
    16.     echo "Clearing their contents..."
    17.     find /data /root /home /mnt -name 'nohup.out' -type f -size +100M -exec sh -c '
    18.         if [ -s "$0" ]; then
    19.             echo "Clearing content of $0..."
    20.             echo "" > "$0"
    21.             echo "Content of $0 has been cleared."
    22.         else
    23.             echo "$0 is empty, no action needed."
    24.         fi
    25.     ' {} \;
    26. fi
    27. # 脚本结束信息
    28. echo "Script completed. All large nohup.out files in /data and /root have been processed."
    29. # 注意:
    30. # 1. 确保仅在必要时以root权限运行此脚本。
    31. # 2. 脚本现在只在/data和/root目录下搜索符合条件的文件,提高了效率和安全性。
    复制代码
    内存清理
    1. #!/bin/bash
    2. echo "开始清理缓存"
    3. sync;sync;sync #写入硬盘,防止数据丢失
    4. sleep 10 #延迟10秒
    5. echo 1 > /proc/sys/vm/drop_caches
    6. echo 2 > /proc/sys/vm/drop_caches
    7. echo 3 > /proc/sys/vm/drop_caches
    8. echo "清理结束"
    复制代码
    定时任务操作命令
    1. crontab -l  # 查询定时任务列表
    2. crontab -e #编辑当前用户的定时任务,wq保存退出,会自动保存到/var/spool/cron文件中
    3. chmod 777 clear_nohup.sh # 给sh文件授权
    4. tail -300 /var/log/cron # 查看定时任务日志
    5. /sbin/service crond reload # 重新加载定时任务配置
    复制代码
    注意


    • 使用创建sh文件时,一定要在服务器上创建。使用windows电脑创建,容易格式不同,无法执行
    • 注意设置
      1. crond
      复制代码
      的开机启动
    到此这篇关于centos服务器常用清理脚本分享的文章就介绍到这了,更多相关centos服务器清理脚本内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    来源:互联网
    免责声明:如果侵犯了您的权益,请联系站长(1277306191@qq.com),我们会及时删除侵权内容,谢谢合作!

    最新评论

    QQ Archiver 手机版 小黑屋 福建二哥 ( 闽ICP备2022004717号|闽公网安备35052402000345号 )

    Powered by Discuz! X3.5 © 2001-2023

    快速回复 返回顶部 返回列表