以前AWS EC2 でVPNサーバーを建てるでEC2(centos7)にSoftEther VPNをインストールして利用する設定を記事にしました。
SoftEther VPNではログが自動的に出力されます。
ディスクがいっぱいになる、そのログが吐き出されないようになってしまうと、エラーになってしまうようです。
とはいえ、念の為ログは残しておきたいので自動で削除するように設定していきます。
ログの場所
以前作成した環境だと /usr/vpnserver
にpacket_log
, security_log
, server_log
の3つが存在しています。
しかしこれらは権限の関係で通常ユーザーだと閲覧できません。
なのでパーミッションを変更しておきます。
別にログを確認する必要がないならこの設定は飛ばしても良いと思います。
$ cd /usr/vpnserver #ディレクトリを変更 $ sudo chmod -R 755 packet_log/ security_log/ server_log/ #3つのディレクトリとその配下のファイルの権限を755にします
これでログが閲覧出来るようになりました。
スクリプト作成
/etc/cron.daily
にスクリプトをおきます。
cron.daily
は1日1回ランダムな時間に実行されるようです。
指定の時間のほうが使い勝手は良さそうですが、このVPNサーバは毎日起動するものではなく、週に2~3回起動するものです。
なので決まった時間だと、cronが実行されない可能性があるんですよね。
cron.daily
はインスタンスが起動しているタイミングでランダムに実行するので、今回の用途的にはこのほうが都合が良いです。
$ sudo vi /etc/cron.daily/deleteVpnServerLog #deleteVpnServerLogはファイル名 #!/bin/sh find /usr/vpnserver/*_log '*.log' -mtime +30 -delete
これで/usr/vpnserver
上の _log
という名前のついたファイル名を探し、.log
のファイルを削除してくれます。
数字の部分でファイルの更新日時を変更できます。
この設定だと30日以前のものを削除できます。
このスクリプトに書き込み権限を与えます。
$ sudo chmod +x deleteVpnServerLog
これでcronが実行されるようになり、ログが削除されるようになります。