iT邦幫忙

0

Rsync 服務無法啟動

系統為ubuntu14
啟動Rsync不斷出錯

  • Starting rsync daemon rsync * rsync daemon failed to start
    [fail]
    log檔
    2017/05/12 09:42:35 [2700] rsync error: error in socket IO (code 10) at socket.c(555) [Receiver=3.1.0]
    2017/05/12 09:42:51 [2724] rsyncd version 3.1.0 starting, listening on port 873
    2017/05/12 09:42:51 [2724] bind() failed: Address already in use (address-family 2)
    2017/05/12 09:42:51 [2724] unable to bind any inbound sockets on port 873
    2017/05/12 09:42:51 [2724] rsync error: error in socket IO (code 10) at socket.c(555) [Receiver=3.1.0]
    2017/05/12 09:47:22 [2759] rsyncd version 3.1.0 starting, listening on port 873
    2017/05/12 09:47:22 [2759] bind() failed: Address already in use (address-family 2)
    2017/05/12 09:47:22 [2759] unable to bind any inbound sockets on port 873
    2017/05/12 09:47:22 [2759] rsync error: error in socket IO (code 10) at socket.c(555) [Receiver=3.1.0]

重開機看起來會成功啟動
只是還是容易失敗被占用
不知哪裡的設定出了問題

1 個回答

0
bizpro
iT邦大師 1 級 ‧ 2017-05-12 21:02:22

重開機看起來會成功啟動

錯誤原因: unable to bind any inbound sockets on port 873
表示跑rsync為daemon. 因為port 873 < 1024, 因此需要用root的權限去跑.
如果您開機時會成功啟動, 就表示這個daemon已經啟動了, 占了873.
是不是您試圖在命令列再度啟動, 當然就會和已經啟動的daemon衝突, 或者沒有用sudo?

只是還是容易失敗被占用

也可能是rsync出了問題, 但pid還掛著, 可能在/var/run/rsyncd.pid (檔案位置依據/etc/rsyncd.conf設定):
$ cat /var/run/rsyncd.pid
找出pid, 對照:
$ ps aux|grep rsync
檢查是那一個掛點. 查看看為什麼.

不知哪裡的設定出了問題

應該要知道了...

看更多先前的回應...收起先前的回應...
hsiang11 iT邦好手 1 級 ‧ 2017-05-13 01:01:56 檢舉

其實我不太懂什麼是daemon 和pid
是照著網路上的設定/etc/rsyncd.conf和/etc/rsyncd.secret
網路上的文件有很多差異 可能新舊版關係
除了daemon還有一個X什麼的方式
可能是以前的設計 都已經捨棄了
整個很亂的資料

bizpro iT邦大師 1 級 ‧ 2017-05-13 09:40:44 檢舉

Linux/Unix Daemon=常駐程序=常駐服務=Windows Services
程序可以是在開機啟動或手動啟動而常駐成了daemon, 程序也可以是一般運行非常駐的, 那就如您開個瀏覽器.

PID= Process ID=程序識別碼
所有的程式運行起來會產生一或一個以上的PID, 這要看分支出幾個程序(processes), 但都會有主程序PID.

把Rsync當Daemon跑, 類似於起一個FTP Daemon, 也預設是跑在873上, 這需要root權限, 也可以透過設定跑在1024到65535的埠.
而一個埠只能跑個程序. 因此您可能試圖跑rsync daemon兩次.

您看到的網路教學講的是關於運行rsync為daemon, 那是特殊運用. 通常可用SAMBA, NFS, FTP來提供檔案服務, 但我認為FTP應該要被淘汰. 一般上我把rsync當成一般程序來同步與備份資料.

hsiang11 iT邦好手 1 級 ‧ 2017-05-16 14:19:26 檢舉

ps aux |grep rsync
root 1112 0.0 0.0 13176 956 ? S 05:53 0:00 /usr/bin/rsync --no-detach --daemon --config /etc/rsyncd.conf
ubuntu 1646 0.0 0.0 10476 904 pts/0 S+ 06:11 0:00 grep --color=auto rsync

上面是我重開機後成功啟動rsync測的 不知有沒有問題
雖然啟動了 還是連不到,目前看起來daemon是啟動成功的

看了一下網路的教學
https://www.atlantic.net/community/howto/setup-rsync-daemon/
Running Rsync as a Daemon
Running Rsync Via Xinetd
Xinetd好像在Ubuntu被捨棄了 這個也不清楚做什麼的
兩者一起開應該會互衝吧?

另外還有一個問題/etc/rsyncd.secrets到底要設在目的端還是連線端
裡面的所設的帳號密碼是要跟本機建立一個一樣的帳密嗎?
還是可以用一個本機沒有的帳密

bizpro iT邦大師 1 級 ‧ 2017-05-16 16:00:35 檢舉

Ubuntu 16.04已經棄用xinitd, 使用systemd, 後面的字母d都是指daemon

我要發表回答

立即登入回答