Postgresql
刪除舊的 postgresql 日誌文件 (Ubuntu)
在託管 postgresql 數據庫的 Ubuntu 機器中,我在
/var/lib/postgresql/9.3/main/pg_log
. 顯然,幾個月前的日誌文件也被儲存了。我手動刪除了一些以擺脫我的disk full
錯誤。每週刪除舊的 postgresql 日誌的可靠方法是什麼?我能做些什麼postgresql.conf
來自動化這個過程?目前我有以下內容
postgresql.conf
:#log_truncate_on_rotation = off # If on, an existing log file with the # same name as the new log file will be # truncated rather than appended to. # But such truncation only occurs on # time-driven rotation, not on restarts # or size-driven rotation. Default is # off, meaning append to existing files # in all cases. #log_rotation_age = 1d # Automatic rotation of logfiles will # happen after that time. 0 disables. log_rotation_size = 100MB # Automatic rotation of logfiles will # happen after that much log output. # 0 disables.
我想我將啟用
log_rotation_age
並將其值設置為30d
. 但是這會自動刪除舊的日誌文件嗎?
您可以使用以下配置;
log_truncate_on_rotation = on log_rotation_age = 1d log_filename = 'postgresql-%a.log' log_rotation_size = 0 #just rotate daily
這表示創建一個名稱類似於“postgresql-Mon.log”的日誌文件,並在發生輪換時覆蓋具有相同名稱的舊文件。
PostgreSQL 支持日誌輪換功能,但不支持日誌刪除功能。所以使用者應該手動刪除日誌,或者必須使用
logrotate
實用程序來刪除它們。這是官方文件。