logrotateのコマンド指定「olddir」は指定したディレクトリ内にローテーションしたログを格納するコマンドであるが、
同じデバイス内のみでしか有効にならない
例えば、別のディスクのディレクトリにログを格納することができない
同じデバイス内のみでしか有効にならない
例えば、別のディスクのディレクトリにログを格納することができない
昔ながらにlastaction内にディレクトリ移動のスクリプトを記述することで「olddir」と同様なことを実現可能となる
/var/log/vsftpd.log { # ftpd doesn't handle SIGHUP properly rotate 1 daily compress missingok lastaction EXT=`/bin/date +%Y%m%d` OLDEXT=`/bin/date +%Y%m%d --date "3 days ago"` LOGDIR=/var/log OLDDIR=/log/archive for file in vsftpd.log do /bin/mv ${LOGDIR}/${file}.1.gz ${OLDDIR}/$file-${EXT}.gz 2> /dev/null || true /bin/rm ${OLDDIR}/${file}-${OLDEXT}.gz 2> /dev/null || true done endscript }
最新コメント