絖綛 N@i.jp  昨日:00044772
 今日:00049604
 総計:00101911
keywords
管理者専用
  Post   Add link   Control Panel 































新しいトピック
最新:03/21 19:08


新しいコメント
最新:07/28 16:47






管理人へMAIL

プライバシーポリシー

Anything-sync-daemonの同期間隔を延ばそう

更にmicroSDカードの負荷を減らしたい場合は


 Anything-sync-daemonは、デフォルトでは1時間に1回の頻度でMonitorixのファイルをmicorSDに同期します(rsyncを使って書き込みます)。Anything-sync-daemon導入前に仮に毎分microSDに書き込んでいたとのだとしたら、導入後では書き込み頻度が1/60になった計算になりますね。これを、2時間に1回や3時間に1回にしてやれば、更に書き込み頻度が減ってmicroSDの延命に繋がると考えられます。
 ただし、同期間隔を延ばすと、不意の電源断、システム/サービスダウンがあった場合に、その間の失われるデータが増えます。でも、Monitorixが溜めているデータが数時間失われたところで支障はありませんし、それよりmicroSDが壊れることで使えなくなってしまう事の方が痛いですよね。と言うことで、Anything-sync-daemonの同期間隔を延ばしてmicroSDカードへの書き込み頻度を更に減らしたいと思います。

1. Wheezyの場合

  1. "/etc/cron.hourly/asd-update"ファイルを/usr/binに移動する

     Wheezy(upstart)の場合、同期はcronによって行われており、そのためのスクリプトファイル"asd-update"/etc/cron.hourly配下に置かれています。ここにスクリプトファイルがあると cronによって1時間毎に起動されてしまうので、スクリプトファイルを/usr/bin配下に移動します。作業はrootになって行います。

    # mv /etc/cron.hourly/asd-update /usr/bin
  2. crontabコマンドで、好みのタイミングで"/usr/bin/asd-update"が起動されるよう設定する

     crontabコマンドに「-e」オプションを指定して起動し、エディタの編集画面で入力します。エディタはデフォルトではpicoが使われるようですが、環境変数EDITORに使用したいエディタのパスを設定しておくと、そのエディタを使って編集できます。以下ではエディタにviを使用しています。

    # export EDITOR=/usr/bin/vi
    # crontab -e

     エディタの編集画面で以下のように入力して保存します。ここでは2時間間隔で同期するように指定しています。

    00 */2 * * * /usr/bin/asd-update

 以上で0時00分, 2時00分, ... という具合に2時間間隔で同期が行われるようになります。もっと時間間隔を延ばしたい場合は、*/2の 2の値を変更します。

2. Jessie(systemd)の場合

 Jessie(systemd)の場合、同期はasd-resyncサービス("/usr/lib/systemd/system/asd-resync.service")によって行われており、時間間隔の設定は"/usr/lib/systemd/system/asd-resync.timer"ファイルに記述されています。

  1. "/usr/lib/systemd/system/asd-resync.timer"ファイルを編集する

     任意のエディタで"/usr/lib/systemd/system/asd-resync.timer"ファイルを編集します。作業はrootになって行います。

    # vi /usr/lib/systemd/system/asd-resync.timer

     編集箇所は以下の赤字の部分です。ここでは2時間間隔で同期するようにしています。

    [Unit]
    Description=Timer for Anything-sync-daemon - 2Hour
    PartOf=asd-resync.service asd.service
    
    [Timer]
    OnUnitActiveSec=2h

    (Description= の方は関係ないでしょうけどね。まぁ一応念のため。)

  2. systemdをリロードする
    # systemctl daemon-reload

    systemctl restart asd-resync や、systemctl reload asd-resyncでは反映されないようです。面倒臭かったらrebootしてしまっても良いです。)

 これで2時間間隔で同期されるようになるはずなので、systemctl list-timersで確認してみます。

# systemctl list-timers
NEXT                         LEFT          LAST PASSED UNIT                         ACTIVATES
日 2016-07-24 10:45:22 JST  1h 52min left n/a  n/a    asd-resync.timer             asd-resync.service


< 過去の記事 [ 7月の 全てのカテゴリ リスト ] 新しい記事 >

2016 calendar
7月
12
3456789
10111213141516
17181920212223
24252627282930
31


掲示板
最新:08/15 17:19


GsBlog was developed by GUSTAV, Copyright(C) 2003, Web Application Factory All Rights Reserved.