各位好
最近架了一台centos7 syslog server 主要是收集PA firewall跟F5 BGP-IP的syslog
但由於空間有限
每天匯出的log將近快20G
想請教在centos上要掛載網路磁碟的指令
要把這些log匯到NAS上
另外想請教有沒有指令可以刪除30天後的檔案
也就是說新的檔案進來,舊的檔案刪掉
一直循環保持30天
Google logrotate 他會教你怎麼寫
linux 文件路徑在/etc/logrotate.d
恩 和我的狀況類似,我需要定期從遠端server上備份資料庫
我採用的方式是 nas +centos+(script) ,因為nas 的管理介面本身有支援iSCSI 所以我切了一小個空間做iscsi 的空間,讓主機掛載(munt)然後每天兩點到五點備份完後輪替檔案
大致上的情形是
nas 掛載 設定fstab crontab
(iscsi 空間)---> centos (mnt/abc )-------> script(備份執行)
參考這個掛載的
http://blog.ilc.edu.tw/blog/index.php?op=printView&articleId=690735&blogId=25793
至於script .
我是參考下去改的.
https://shazi.info/mysql%E6%8E%92%E7%A8%8B%E5%82%99%E4%BB%BD%E4%B8%A6%E9%81%94%E6%88%90%E7%95%B0%E5%9C%B0%E5%82%99%E4%BB%BD%EF%BC%8Dshell-script%E7%AD%86%E8%A8%98/
讓你參考我的 logrotate config
實際上你就當成 crontab 並幫你做壓縮就好了
這邊保留 30 天
做 rotate 之前先停止收 LOG
做完後再開始收 LOG
並且 rotate 的檔案會放到別處
另外我 syslog-ng 是設定 依來源 IP 自動建檔
存放至 /var/log/syslog-ng_remote/
所以 logrotate
就是後面加萬用字元即可
/var/log/syslog-ng_remote/* {
daily
rotate 30
compress
olddir /var/log/syslog-ng_remote_Archive/
prerotate
systemctl stop syslog-ng
endscript
postrotate
systemctl start syslog-ng
endscript
nocreate
}