Mysql
Logrotate 在壓縮文件名末尾附加“1”
我有一個腳本,它
cronjob
每 30 分鐘執行一次並佔用mysqldump
一些表格。轉儲文件儲存/var/log/
為/var/log/mysqldump/dbname/tablename/2014-06-15-18-30-dbname-tablename.sql /var/log/mysqldump/dbname2/tablename2/2014-06-15-19-00-dbname2-tablename2.sql
我
logrotate
用於文件輪換,配置文件具有以下結構:/var/log/mysqldump/dbname/tablename/*.sql { daily rotate 30 compress nocreate }
現在我的問題是,雖然
logrotate
工作正常,但它在 gzip 文件名的末尾附加了“1”或“2”,例如這就是我所擁有的/var/log/mysqldump/dbname2/tablename2/2014-06-15-19-30-dbname2-tablename2.sql.1.gz /var/log/mysqldump/dbname1/tablename1/2014-06-15-19-00-dbname1-tablename1.sql.2.gz
我
logrotate
從腳本中執行為logrotate -f /path/to/mysqldump-logrotate.conf
我在這裡做錯了什麼?
Logrotate 將預設為文件添加一個數字。這樣如果它用於文件名,例如 eg
/var/log/messages
,旋轉的日誌將被命名/var/log/messages.0
等等/var/log/messages.1
。您的情況有些不同,因為您已經在文件名中有時間戳,因此副檔名是不必要的。Logrotate 沒有不使用擴展的選項 - 但您可以使用一種解決方法。
使用數字序列的替代方法是使用日期/時間戳。這預設為
-%Y%m%D
,例如-20140618
。但是您可以配置字元串的外觀 - 在您的情況下它將是一個空字元串。您可以使用以下配置執行此操作:dateext # to use dateformat string instead of sequential numbers dateformat '' # to use an empty string as the dateext