定時釋放Linux/CentOS緩存的腳本(yl_dropcaches)以下: python
#!/bin/bash used=`free -m | awk 'NR==2' | awk '{print $3}'` free=`free -m | awk 'NR==2' | awk '{print $4}'` echo "===========================" >> yl_dropcaches.log date >> yl_dropcaches.log echo "Memory usage | [Use:${used}MB][Free:${free}MB]" >> yl_dropcaches.log # drop caches when the free memory less than 10G if [ $free -le 10000 ] ; then #sync && echo 1 > /proc/sys/vm/drop_caches #sync && echo 2 > /proc/sys/vm/drop_caches sync && echo 3 > /proc/sys/vm/drop_caches echo "OK" >> yl_dropcaches.log else echo "Not required" >> yl_dropcaches.log fi
改成可執行(chmod +x yl_dropcaches)後,將其加入定時任務中:緩存
echo '*/30 * * * * sh /home/yl_dropcaches' >> /var/spool/cron/root
而後,重啓一下便可(service crond restart)。
CentOS默認會將crontab設置爲開啓的狀態; 可查看其狀態或開啓:service crond status/start/stop/restart/reload 能夠用如下命令來操做crontab: crontab -l #查看List crontab -e #編輯Edit crontab -r #刪除Remove crontab的規則(cat /etc/crontab)以下:bash
# Example of job definition: # .---------------- minute (0 - 59) # | .------------- hour (0 - 23) # | | .---------- day of month (1 - 31) # | | | .------- month (1 - 12) OR jan,feb,mar,apr ... # | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat # | | | | | # * * * * * user-name command to be executed
從左至右,每一個*分別表明:分,時,日,月,周;最後爲要執行的命令;less
其中* / - , 這些通配符的含義爲:ui