linux /var目录空间清理以及清理后不释放解决
干貨
cd /var/spool/postfix/maildrop rm * lsof |grep deleted|awk '{print $2}'|xargs kill -9*/10 * * * * /tmp/test.sh >/dev/null 2>&1在Linux或Unix系統中,通過使用rm刪除文件的原理,rm命令只是從文件系統的目錄結構上解除鏈接(unlink),也就是說如果文件是被打開的(有一個進程正在使用該文件句柄),那該進程還是可以讀取已刪除的文件,刪除的時候文件正在被使用中,所以并不釋放磁盤空間。
可以殺死使用刪除文件的進程來釋放空間。
lsof |grep deleted|awk ‘{print $2}’|xargs kill -9
/var 100% ,后經查看發現是 /var/spool/postfix/maildrop 有大量文件.
發現是crontab 每次執行任務后會發送郵件,接受者是在他的配置文件 “/etc/crontab” 通過 MAILTO=root’ 來設置的,默認是root,如果執行輸出沒有十分必要要用郵件發送的話,可以修改此處。
下面是兩個解決方法
方法一:
修改“/etc/crontab”
將‘MAILTO=root’替換成‘MAILTO=""’修改之后沒有成功,需要重啟crond服務才可以
也可從在crontab(crontab -e)中最前面直接加入MAILTO=""
方法二:
如果是我們不關心的備注型等輸出我們完全可以讓其輸出到 /dev/null 這樣就不會因為發送失敗到導致在/var/spool/postfix/maildrop下面產出什么文件。
例如:
*/10 * * * * /tmp/test.sh >/dev/null 2>&1
經過測試發現果然沒有再出現新增的文件。當然如果輸出內容有需要保存的話,可以輸出到指定文件。比如下面這樣
*/10 * * * * /tmp/test.sh >/log/test.log
重啟crontab服務
service cron stop service cron status * cron.service - Command SchedulerLoaded: loaded (/usr/lib/systemd/system/cron.service; enabled; vendor preset: enabled)Active: inactive (dead) since Mon 2020-12-14 16:55:57 CST; 8s agoProcess: 5022 ExecStart=/usr/sbin/cron -n (code=exited, status=0/SUCCESS)Main PID: 5022 (code=exited, status=0/SUCCESS)Dec 14 16:55:02 libossnx-11 cron[11417]: pam_systemd(crond:session): Failed to connect to system bus: Resource temporarily unavailable Dec 14 16:55:02 libossnx-11 CRON[11385]: (web) CMD (/web/jsonproc/JSON_B2GPSP_ORDER_ADD.sh >>/log/cronlog/JSON_B2GPSP_ORDER_ADD.log) Dec 14 16:55:26 libossnx-11 CRON[11425]: pam_unix(crond:session): session closed for user web Dec 14 16:55:26 libossnx-11 CRON[11114]: pam_unix(crond:session): session closed for user web Dec 14 16:55:26 libossnx-11 CRON[10823]: pam_unix(crond:session): session closed for user web Dec 14 16:55:56 libossnx-11 systemd[1]: Stopping Command Scheduler... Dec 14 16:55:56 libossnx-11 CRON[10734]: pam_unix(crond:session): session closed for user web Dec 14 16:55:57 libossnx-11 CRON[11167]: pam_unix(crond:session): session closed for user web Dec 14 16:55:57 libossnx-11 CRON[5241]: pam_unix(crond:session): session closed for user web Dec 14 16:55:57 libossnx-11 systemd[1]: Stopped Command Scheduler. libossnx-11:/etc/init.d # service cron start libossnx-11:/etc/init.d # service cron status * cron.service - Command SchedulerLoaded: loaded (/usr/lib/systemd/system/cron.service; enabled; vendor preset: enabled)Active: active (running) since Mon 2020-12-14 16:56:20 CST; 44s agoMain PID: 46198 (cron)Tasks: 1 (limit: 65535)CGroup: /system.slice/cron.service`-46198 /usr/sbin/cron -nDec 14 16:57:01 libossnx-11 cron[51993]: pam_unix(crond:session): session opened for user web by (uid=0) Dec 14 16:57:01 libossnx-11 cron[51999]: pam_unix(crond:session): session opened for user web by (uid=0) Dec 14 16:57:01 libossnx-11 cron[51260]: pam_unix(crond:session): session opened for user web by (uid=0) Dec 14 16:57:01 libossnx-11 cron[52004]: pam_unix(crond:session): session opened for user web by (uid=0) Dec 14 16:57:01 libossnx-11 cron[51994]: pam_unix(crond:session): session opened for user web by (uid=0) Dec 14 16:57:01 libossnx-11 cron[52007]: pam_unix(crond:session): session opened for user web by (uid=0) Dec 14 16:57:01 libossnx-11 cron[52014]: pam_unix(crond:session): session opened for user web by (uid=0) Dec 14 16:57:01 libossnx-11 cron[51987]: pam_unix(crond:session): session opened for user web by (uid=0) Dec 14 16:57:01 libossnx-11 cron[51996]: pam_unix(crond:session): session opened for user web by (uid=0) Dec 14 16:57:01 libossnx-11 cron[51990]: pam_unix(crond:session): session opened for user web by (uid=0)crontab -l # DO NOT EDIT THIS FILE - edit the master and reinstall. # (crontab_root installed on Mon Dec 14 16:45:24 2020) # (Cronie version 4.2) MAILTO="" ####/etc/sysctl.conf vm.drop_caches=3 or ####10 22 * * * echo 3 > /proc/sys/vm/drop_caches >/log/root.log總結
以上是生活随笔為你收集整理的linux /var目录空间清理以及清理后不释放解决的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: wemall
- 下一篇: Linux日常——端口