iT邦幫忙

0

fedora rsync 環境設置 求助

小弟在linux 這領域很淺,最近想使用 linux 底下的 rsync 來對公司的nas作備份
小弟目前用的是 fedora 20這個版本,
目前再做
#vi /etc/xinetd.d/rsync
disable = yes 改成 no 這個段落
但是小弟打好幾次進去,裡面卻是空白的?還是我打錯指令變成新增文件了
目前已經花好幾天時間在研究了,請求各位前輩幫忙
若可以的話也可以加小弟line ID:hahahitmepls

你是用 root 去編輯嗎?
重頭到尾沒用 root 耶

前面要加root 或者 sudo嗎
/etc 下面的,你先看看權限跟owner.
用ll或是 ls -l
owner會是root吧,一般user當然無法編修啦,vi可以打開,不能存檔.
最好是切換成root, 先作 cp rsync rsync.bak
備份一份.
修改時可以加上 # 寫上註解,註明原因跟修改日期.
6
weiclin
iT邦高手 4 級 ‧ 2013-12-26 09:27:23
最佳解答

嗯.. fedora 已經改用 systemctl 去管理 rsync daemon 了
所以你去 xinetd 當然是找不到東西

你現在需要做的:

  1. 修改 /etc/rsyncd.conf 加入你要的設定
  2. 手動啟動 rsyncd: systemctl start rsyncd
  3. 手動停止 rsyncd: systemctl stop rsyncd
  4. 開機自動執行 rsyncd: systemctl enable rsyncd.service

至於 rsyncd.conf 要怎樣設定才能讓 nas 做備份, 我就不清楚, 沒用過 nas

看更多先前的回應...收起先前的回應...

weiclin提到:
fedora 已經改用 systemctl 去管理 rsync daemon 了

啥~原來Fedora已經改啦~那我還亂回答!真是不好意思~汗
趕快筆記~筆記

請問能否提供fedora20 server 端的rsync 設定流程?
所以那我那段落要怎設定呢?
#vi /etc/xinetd.d/rsync
xinetd.d 改成 systemctl嗎?

/etc/rsyncd.conf 這段前面是要加vi嗎?vi 打完是不是要空格才行呀?
我目前是打這段
sudo vi /etc/rsyncd.conf 會出現一些預設值

/etc/rsyncd: configuration file for rsync daemon mode

See rsyncd.conf man page for more options.

configuration example:

uid = haha

gid = haha

use chroot = no

max connections = 20

pid file = /var/run/rsyncd.pid

exclude = lost+found/

transfer logging = yes

timeout = 900

ignore nonreadable = yes

dont compress = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2

[ftp]

path = /home/ftp

comment = ftp export area

以上有些被我改過了

weiclin iT邦高手 4 級 ‧ 2013-12-26 15:43:14 檢舉

你不要管 xinetd 的東西了, 那個已經沒有關聯

給你一個範例
首先建立一個資料夾用來放備份

<pre class="c" name="code">
mkdir /home/nasbackup

然後這是 /etc/rsyncd.conf 的內容, 大部分都是原本檔案裡面的範例
只是加上使用者驗證的東西

<pre class="c" name="code">
uid = nobody
gid = nobody
use chroot = no
pid file = /var/run/rsyncd.pid
exclude = lost+found/
ignore nonreadable = yes
log file = /var/log/rsyncd.log
secrets file = /etc/rsyncd.secrets

[nas]
        comment = for nas backup
        path = /home/nasbackup
        read only = false
        auth users = nasuser

建立 /etc/rsyncd.secrets, 這個是密碼檔, 每行一個帳號密碼, 格式是 帳號:密碼
這邊先隨便建立一個 nasuser, 密碼用 "pass", 你自己改成你要用的密碼

<pre class="c" name="code">
echo "nasuser:pass" > /etc/rsyncd.secrets
chmod 600 /etc/rsyncd.secrets

最後重啟 rsyncd:

<pre class="c" name="code">systemctl restart rsyncd

順便提醒一下, 檢查看看你的 /etc/sysconfig/selinux
如果看到這一行: SELINUX=enforcing
把他改成: SELINUX=disabled
然後重開機, 再來弄 rsync, 不然你會被 selinux 擋掉
等你先把 rsync 搞定..還有多餘的精神再去研究 selinux 吧 xD

4
godspeedyen
iT邦新手 3 級 ‧ 2013-12-26 00:52:17

hahahitmepls提到:
#vi /etc/xinetd.d/rsync
disable = yes 改成 no 這個段落
但是小弟打好幾次進去,裡面卻是空白的?還是我打錯指令變成新增文件了

樓主的意思是指檔案完全空白??可以先做以下檢查:

  1. 透過rpm command檢查是否有安裝rsync套件

    <pre class="c" name="code">rpm -qa | grep ^rsync

沒有套件就安裝唄~安裝步驟在這就不多加贅述嚕...

  1. 若有套件則找尋設定檔預設安裝位置,一樣透過rpm command

    <pre class="c" name="code">
    #<version>請帶入pm -qa | grep ^rsync所得值#
    rpm -lq rsync-<version>

以上希望能解決您的問題~汗

4
ayu
iT邦研究生 1 級 ‧ 2013-12-26 11:08:52

似乎你是想要將 fedora20 架成 rsync server,
然後 NAS 當 rsync client 把資料同步到 fedora20 ?

資料備份並不是非要架個 rsync server 不可哦!
有興趣可以問 google, 還有些東西要設定的.
但也可以考慮直接用 rsync+ssh 的方式啊!
假設 NAS 有開啟 sshd, IP是192.168.1.220,
( NAS 通常也是輕巧型Linux+busybox )
要備份 NAS 的 /home/xxx 到 fedora20 的 /backup/home/xxx ,
在 fedora20 執行:
rsync -rtvzP --delete -e ssh root@192.168.1.220:/home/xxx/ /backup/home/xxx --log-file=20131226.log

2
dpanaben
iT邦新手 1 級 ‧ 2013-12-27 17:17:19

試試 BTSync吧~~

我要發表回答

立即登入回答