通过smem 定时检测系统内存占用情况

编写定时任务脚本

bash 复制代码
cat >> /usr/local/bin/smem.sh <<-"EOF"

if [[ ! -d /var/log/smem ]];then
    mkdir -p /var/log/smem
fi
smem -tk >> /var/log/smem/smem.log
EOF

chmod 755 /usr/local/bin/smem.sh

配置定时任务

bash 复制代码
echo "" >> /etc/crontab
echo "* * * * * root flock -xn '/tmp/smem.lock' -c '/usr/local/bin/smem.sh' > /dev/null 2>&1" >> /etc/crontab
systemctl reload crond

配置日志轮转

bash 复制代码
cat >> /etc/logrotate.d/smem <<-"EOF"
/var/log/smem/smem.log {
    daily
    rotate 30
    compress
    delaycompress
    missingok
    notifempty
    create 644 root root
}
EOF

检查定时任务是否生效

bash 复制代码
# 查看 /var/log/cron
tail -1000 /var/log/cron |grep smem

# 这将显示过去 2 分钟内的 crond 日志条目
journalctl -u crond --since "2 minutes ago" | grep smem
bash 复制代码
[root@localhost lxm]# tail -1000 /var/log/cron |grep smem
Dec 20 10:13:01 localhost CROND[3378740]: (root) CMD (flock -xn '/tmp/smem.lock' -c '/usr/local/bin/smem.sh' > /dev/null 2>&1)
Dec 20 10:13:01 localhost CROND[3378739]: (root) CMDEND (flock -xn '/tmp/smem.lock' -c '/usr/local/bin/smem.sh' > /dev/null 2>&1)
[root@localhost lxm]# 
[root@localhost lxm]# journalctl -u crond --since "2 minutes ago" | grep smem
Dec 20 10:13:01 localhost.localdomain CROND[3378740]: (root) CMD (flock -xn '/tmp/smem.lock' -c '/usr/local/bin/smem.sh' > /dev/null 2>&1)
Dec 20 10:14:01 localhost.localdomain CROND[3388194]: (root) CMD (flock -xn '/tmp/smem.lock' -c '/usr/local/bin/smem.sh' > /dev/null 2>&1)
相关推荐
LKAI.18 分钟前
MongoDB用户管理和复制组
linux·数据库·mongodb
linux修理工25 分钟前
moodle 开源的在线学习管理系统(LMS)部署
linux
熬夜苦读学习1 小时前
库制作与原理
linux·数据库·后端
晨曦启明7112 小时前
Linux云计算SRE-第十八周
linux·运维·云计算
暴躁的小胡!!!2 小时前
Linux权限维持之vim python 扩展后门(五)
linux·运维·服务器·网络·安全
亭墨2 小时前
linux0.11内核源码修仙传第五章——内存初始化(主存与缓存)
linux·c语言·驱动开发·学习·缓存·系统架构
追寻光3 小时前
Linux 配置静态 IP
linux
誓约酱3 小时前
(每日一题) 力扣 283 移动零
linux·c语言·数据结构·c++·算法·leetcode
快起床啊你3 小时前
【linux网络编程】浏览网页时客户端与服务器之间数据交互的完整过程
linux
北冥有鱼被烹3 小时前
【微知】Centos如何迁移到Anolis系统的失败记录?(yum -y install centos2anolis、centos2anolis.py)
linux·服务器·centos