Armadillo-IoT(G3/G3L)、Armadillo-X1は、ファイルをストレージに保存するため、 電源OFFにしても、syslog等のログファイルは残ります。
Armadilloを常時稼働していたり、 Armadilloの電源をOFFにすることはあっても、バッテリ電池でRTCの時刻を保持している場合は、 システムのログファイル(syslog等)は、 /etc/logrotate.d/rsyslog 内の
/var/log/syslog
{
rotate 7
daily
missingok
notifempty
delaycompress
compress
postrotate
invoke-rc.d rsyslog rotate > /dev/null
endscript
}
のような設定に基づき、daily(毎日)、weekly(毎週)などの時間の条件で、 ローテーションされますので、ファイルのサイズが大きくなり続けることはありません。 また、上記ファイル内で、ローテーションするファイル数も設定できるため、ファイル数も増え続けることはありません。 (上記の場合は、"rotate 7"なので、ファイル数は7つまで。)
ただ、開発、評価など、電源ON/OFFが頻繁(かつRTC用バッテリ電池が未使用)な場合は、 電源OFFの度に時刻情報がリセットされるため、daily(毎日)、weekly(毎週)などの時間条件で、 ログファイルがローテートされません。 その結果、ログファイルが肥大化しつづけ、ストレージを圧迫します。
例)起動直後のログファイル(syslog)のサイズ
(syslogのファイルサイズを確認)
root@armadillo:~# ls -l /var/log/syslog
-rw-r----- 1 root adm 548577 Jan 1 09:00 /var/log/syslog
(電源OFF->ONして、ログイン直後にsyslogのファイルサイズを確認)
root@armadillo:~# ls -l /var/log/syslog
-rw-r----- 1 root adm 627575 Jan 1 09:00 /var/log/syslog
(電源OFF->ONして、ログイン直後にsyslogのファイルサイズを確認)
root@armadillo:~# ls -l /var/log/syslog
-rw-r----- 1 root adm 703964 Jan 1 09:00 /var/log/syslog
上記の例のとおり、syslogのファイルはログが追加されているため、サイズが大きくなりつづけています。 また、時刻情報がリセットされているため、ファイルの生成時刻は、リセットされた時刻(Jan 1 09:00)が打刻されています。 これを繰り返すと、 /var/log/syslog が肥大化しつづけます。
これを回避する方法として、ログのローテーションを強制的に行う方法があります。
root@armadillo:~# ls -l /var/log/syslog*
-rw-r----- 1 root adm 1125573 Jan 1 09:00 /var/log/syslog
(下記のようにlogrotateで強制的にログをローテーションします。)
root@armadillo:~# logrotate -f /etc/logrotate.conf
(過去のsyslogがsyslog.1に移動して、syslogのサイズが減っています。)
root@armadillo:~# ls -l /var/log/syslog*
-rw-r----- 1 root adm 547 Jan 1 09:01 /var/log/syslog
-rw-r----- 1 root adm 1125573 Jan 1 09:00 /var/log/syslog.1
以降、"logrotate"を繰り返しても、 /etc/logrotate.d/rsyslog 内で設定されたrotateの数よりファイル数は増えません(最も過去のログファイルが消える)ので、 システムのログファイルのサイズの肥大化を防ぐことができます。