私は午後中にrsync作業をしていました。 rsyncサーバーを設定しましたが、使用方法がわかりません。
66と12という2台のマシンがあります。 66がサーバーで、66〜12のデータをバックアップしたいので、rsyncを使用します。
私は次のことをしました。
66歳:
sudo apt-get install xinetd
sudo vim /etc/xinetd.d/rsync
service rsync
{
disable = no
socket_type = stream
wait = no
user = root
server = /usr/bin/rsync
server_args = --daemon
log_on_failure += USERID
}
sudo nano /etc/rsyncd.conf
max connections = 2
log file = /var/log/rsync.log
timeout = 300
[wwwroot]
comment = Public Share
path = /home/wwwroot
read only = no
list = yes
uid = nobody
gid = nogroup
auth userusers = user
secrets file = /home/rsync.secrets
sudo /etc/init.d/xinetd restart
12:
rsync -v [email protected]::wwwroot /home/young001/backup --password-file=/home/rsync.pass
これは私たちに次のように伝えます。
skipping directory .
sent 4 bytes received 6 bytes 2.86 bytes/sec
total size is 0 speedup is 0.00
ログは次のとおりです
2013/06/12 03:18:18 [30477] name lookup failed for 125.221.225.12: Name or service not known
2013/06/12 03:18:18 [30477] connect from UNKNOWN (125.221.225.12)
2013/06/12 10:18:18 [30477] rsync on ctp/ from young001@UNKNOWN (125.221.225.12)
2013/06/12 10:18:18 [30477] building file list
2013/06/12 10:18:18 [30477] skipping directory .
2013/06/12 10:18:18 [30477] sent 98 bytes received 54 bytes total size 0
2013/06/12 03:19:59 [30484] name lookup failed for 125.221.225.12: Name or service not known
2013/06/12 03:19:59 [30484] connect from UNKNOWN (125.221.225.12)
2013/06/12 10:19:59 [30484] rsync on ctp/ from young001@UNKNOWN (125.221.225.12)
2013/06/12 10:19:59 [30484] building file list
2013/06/12 10:19:59 [30484] skipping directory .
2013/06/12 10:19:59 [30484] sent 98 bytes received 54 bytes total size 0
ディレクトリが空であることを知らせるようですが、どのディレクトリが空であるかはわかりません。
/home/young001/backup は空のディレクトリですが、/home/wwwroot は空のディレクトリではありません。
wwwrootをバックアップに同期したいのですが、何が間違っていますか?
答え1
12
ボックス(サーバーからバックアップをインポートしたボックス)で、次のコマンドを使用します。
rsync -av [email protected]::wwwroot /home/young001/backup --password-file=/home/rsync.pass
この-a
オプションは rsync アーカイブモードです。ディレクトリに再帰し、ほぼすべてのコンテンツを保存するように設計されています。 rsync manをチェックしてください。
-a
Rsyncはデフォルトでディレクトリを繰り返しコピーしないため、またはオプションを使用する必要があります-r
。
答え2
1.リモートディレクトリをローカルディレクトリに同期します。
sudo rsync -r -a -v [email protected]:/path/to/remote/directory/ /path/to/local/directory/ 2>&1
2. これにより、ローカルディレクトリがリモートディレクトリに同期されます。
sudo rsync -r -a -v /path/to/local/directory/ [email protected]:/path/to/remote/directory/ 2>&1
、標準出力()を2>&1
表します。標準誤差( )を示す。1
stdout
2
stderr
したがって、2>&1
標準出力もリダイレクトされる場所に標準エラーが送信されることを意味します。送信されるため、/dev/null
要求によってすべての出力が完全に無視されます。これにより、エラーが発生した場合にエラーが何であるかを確認できます。
--delete : delete files that don't exist on sender (system)
-v : Verbose (try -vv for more detailed information)
-e "ssh options" : specify the ssh as remote shell
-a : archive mode
-r : recurse into directories
-z : compress file data
詳しくはrsync
これを使用してください。