web-dev-qa-db-ja.com

/ var / logをtmpfsに移動した後に/ var / log / syslogファイルがない

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/logrsyslogdの開始時にまだマウントされていないが、サービスを手動で再起動するとき(/var/logがマウントされていると確信しているとき)まだ動作しないためだと思いました。

私は使用しています:

  • Ubuntu 14.04.2
  • カーネル3.13.0-45
  • rsyslog 7.4.4-1ubuntu2.5
4
CDuv

これらのファイルを/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を使用してこれらのディレクトリを同期できます。

0
Елин Й.