SSDへの無駄な書き込みを避けるため、/var/log
(および/tmp
)を/etc/fstab
経由でRAMに移動しました。
cat >> /etc/fstab <<'EOT'
tmpfs /tmp tmpfs defaults,size=1g 0 0
tmpfs /var/log tmpfs defaults,nosuid,nodev,noatime,mode=0755,size=5% 0 0
EOT
しかし、それ以来、/var/log/syslog
ファイルはありません。
/var/log
がrsyslogd
の開始時にまだマウントされていないが、サービスを手動で再起動するとき(/var/log
がマウントされていると確信しているとき)まだ動作しないためだと思いました。
私は使用しています:
これらのファイルを/etc/rc.local
ファイルに次のように作成する必要があります。
# Restore tmpfs directories for logs.
# Extend the following directories to your needs according to installed packages
for dir in apparmor apt cups dist-upgrade fsck gdm installer samba unattended-upgrades upstart ;
do
if [ ! -e /var/log/$dir ] ; then
mkdir /var/log/$dir
fi
done
# Restore syslog files
for file in debug mail.err mail.log mail.warn syslog ;
if [ ! -f /var/log/$file ] ; then
touch /var/log/$file
chown syslog:adm /var/log/#file
fi
done
# Set owners for the newly created log directories
chown root:adm /var/log/samba
上記のスクリプトは行の前にあります:
exit 0
このスクリプトは、システムの起動時に必要なディレクトリとファイルを作成します。また、システムの再起動間で永続化する必要がある場合は、オプションでシャットダウン時にrsync
を使用してこれらのディレクトリを同期できます。