対処法 – lsyncd: Error, Temporary or permanent failure on startup of “/path/to/sync”. Terminating since “insist” is not set.

事象

lsyncd: Error, Temporary or permanent failure on startup of “/var/www/”. Terminating since “insist” is not set. のようなエラーが出力されファイルが同期されない。

Feb 19 05:30:30 hostname lsyncd[3412]:  * Starting synchronization daemonlsyncd
Feb 19 05:30:30 hostname lsyncd[3412]:    ...done.
Feb 19 05:30:30 hostname systemd[1]: Started LSB: lsyncd daemon init script.
Feb 19 05:30:30 hostname lsyncd: Normal, recursive startup rsync: /var/www/ -> 192.168.1.1::www/
Feb 19 05:30:30 hostname lsyncd: Normal, recursive startup rsync: /var/www/ -> 192.168.1.2::www/
Feb 19 05:30:30 hostname lsyncd: Normal, recursive startup rsync: /var/www/ -> 192.168.1.3::www/
Feb 19 05:30:30 hostname lsyncd: Normal, recursive startup rsync: /var/www/ -> 192.168.1.4::www/
Feb 19 05:30:30 hostname lsyncd: Normal, recursive startup rsync: /var/www/ -> 192.168.1.5::www/
Feb 19 05:30:30 hostname lsyncd: Normal, recursive startup rsync: /var/www/ -> 192.168.1.6::www/
Feb 19 05:30:30 hostname lsyncd: Error, Temporary or permanent failure on startup of "/var/www/". Terminating since "insist" is not set.

原因

公式サイトのマニュアルを確認すると、insist が true の場合、1つ以上のターゲットが到達不能などの理由で利用できない場合でも動作を続けるというオプションであることがわかる。このことからいずれかのターゲットにアクセスできないことが原因と考えられます。

insist = true
keep running at startup although one or more targets failed due to not being reachable.

実際に rsync のステータスを確認してみるとアップグレードの影響か正常に起動しなくなっているサーバーがありました。

# /etc/init.d/rsync status
● rsync.service - fast remote file copy program daemon
   Loaded: loaded (/lib/systemd/system/rsync.service; disabled; vendor preset: enabled)
   Active: inactive (dead)

対策

rsyncを起動すると正常に動作したため、サービスとして自動起動するようにしていなかったようです。。自動起動するように設定しておきます。

rsync の開始

# systemctl start rsync
# systemctl status rsync
● rsync.service - fast remote file copy program daemon
   Loaded: loaded (/lib/systemd/system/rsync.service; disabled; vendor prese
   Active: active (running) since 日 2017-02-26 01:22:17 JST; 3s ago
 Main PID: 2585 (rsync)
   CGroup: /system.slice/rsync.service
           └─2585 /usr/bin/rsync --daemon --no-detach

 2月 26 01:22:17 hostname systemd[1]: Started fast remote file copy program
 2月 26 01:22:17 hostname rsyncd[2585]: rsyncd version 3.1.1 starting, list

自動起動の設定

# systemctl enable rsync
Synchronizing state of rsync.service with SysV init with /lib/systemd/systemd-sysv-install...
Executing /lib/systemd/systemd-sysv-install enable rsync
insserv: warning: current stop runlevel(s) (0 1 6) of script `rsync' overrides LSB defaults (empty).
insserv: warning: current stop runlevel(s) (0 1 6) of script `rsync' overrides LSB defaults (empty).

トラブルシューティング

rsync は tcp/873 を利用するので LISTEN 状態になっているかを確認する形でも簡易チェックができますね。

# netstat -an | grep 873
tcp        0      0 0.0.0.0:873             0.0.0.0:*               LISTEN     
tcp6       0      0 :::873                  :::*                    LISTEN     
スポンサーリンク