centos服务器常用清理脚本分享
<div id="navCategory"><h5 class="catalogue">目录</h5><ul class="first_class_ul"><li><a href="#_label0">nacos日志清理脚本</a></li><li><a href="#_label1">nohup.out文件清理</a></li><li><a href="#_label2">内存清理</a></li><li><a href="#_label3">定时任务操作命令</a></li><li><a href="#_label4">注意</a></li></ul></div><p>做开发时,经常遇到服务器监控报警,日志占据大量的磁盘空间,需要清理。每次手动清理很麻烦。这里分享一些定时清理的脚本,减轻运维的工作量。将<code>sh</code>脚本与<code>crontab</code>定时任务结合,实现定时清理。</p><p class="maodian"><a name="_label0"></a></p><h2>nacos日志清理脚本</h2>
<p>nacos也是服务器上的日志大户,需要经常清理</p>
<div class="jb51code"><pre class="brush:bash;">#! \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</pre></div>
<p class="maodian"><a name="_label1"></a></p><h2>nohup.out文件清理</h2>
<p>整个服务器检索,大于100M就清空</p>
<div class="jb51code"><pre class="brush:bash;">#!/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目录下搜索符合条件的文件,提高了效率和安全性。</pre></div>
<p class="maodian"><a name="_label2"></a></p><h2>内存清理</h2>
<div class="jb51code"><pre class="brush:bash;">#!/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 "清理结束"</pre></div>
<p class="maodian"><a name="_label3"></a></p><h2>定时任务操作命令</h2>
<div class="jb51code"><pre class="brush:bash;">crontab -l# 查询定时任务列表
crontab -e #编辑当前用户的定时任务,wq保存退出,会自动保存到/var/spool/cron文件中
chmod 777 clear_nohup.sh # 给sh文件授权
tail -300 /var/log/cron # 查看定时任务日志
/sbin/service crond reload # 重新加载定时任务配置</pre></div>
<p class="maodian"><a name="_label4"></a></p><h2>注意</h2>
<ul><li>使用创建sh文件时,一定要在服务器上创建。使用windows电脑创建,容易格式不同,无法执行</li><li>注意设置<code>crond</code>的开机启动</li></ul>
<p>到此这篇关于centos服务器常用清理脚本分享的文章就介绍到这了,更多相关centos服务器清理脚本内容请搜索琼殿技术社区以前的文章或继续浏览下面的相关文章希望大家以后多多支持琼殿技术社区!</p>
頁:
[1]