rsyncサーバ立ててubuntu server(samba server)をバックアップする

今どきは、っていうかちょいとググると猫も杓子もrsyncとsshでやる方法ばかりだが、閉じられたローカルエリア内の比較的簡素なネットワークでubuntu serverが2つあるぐらいの状態なら別にrsync+sshよりシンプルで転送もより高速なのでrsync serverを立ててバックアップserverにしたほうがいい場合もある。↓これと同じね。

で、↑を書いていて、ふと、そう言えばたまにしか設定しないし忘れそうだなぁ、とか思ってたところに丁度とあるところにminiPCでsamba server2つめを立ち上げに行って、定期的にバックアップ取れれば良いだけなんで、rsync server立ててバックアップを取ることにした。てことで忘れないうちにメモっとく。

rsync serveを有効化

2台ともubuntu 24.04 LTSなので、rsyncは標準で入っている。のでrsync serverにしたい方のrsyncdを有効にするだけでOK。

/etc/default/rsync

RSYNC_ENABLE=false

RSYNC_ENABLE=true

にすれば良いだけ。あとは設定ファイル。

rsyncd.confの作成

ubuntuをinstallしたばかりの状態ではrsyncはInstallされているがrsyncdの設定ファイルは無い。基本的にrsync + sshでやれってことなのかも。てことで無いので作る(viでもnanoでも好きなエディタで)。

$ sudo nano /etc/rsyncd.conf

ユーザ名パスワード無しな超簡単な設定で良いので中身はこんな感じ(もっと詳しくはrsyncのマニュアル読むなりググるなり)

#
# Global options
#
uid           = [rsync daemon実行ユーザ]
gid           = [rsync daemon実行ユーザグループ]
log file      = [ログファイルPATH,指定なしでsyslogに出力]
log facility  = [ログレベル,デフォルトはdaemon]
pid file      = [pidファイルPATH]
hosts allow   = [接続を許可するホスト、CIDR]
hosts deny    = [接続を許可しないホスト、CIDR]
dont compress = [圧縮しない拡張子]
#
# Module options
#
[モジュール名]
        comment      = [コメント]
        path         = [同期ディレクトリ]
        auth users   = [認証ユーザ名]
        secrets file = [認証ユーザパスワードファイル]
        read only    = [readonly指定、デフォルトはyes]

てことで、今回の場合は例えばこんな感じ。(バックアップ元が192.168.0.240/24と仮定、且つそのserverしかrsyncd使わない)

#
# Global options
#
uid = root
gid = root
hosts allow = 192.168.0.240 localhost
hosts deny = *
list = true
dont compress = *.gz *.tgz *.zip *.pdf *.sit *.sitx *.lzh *.bz2 *.jpg *.gif *.png

#
# Module options
#
[backup01] 
        path = /mnt/backup_disk2/backup
        read only = false

サービスを再起動する

一度再起動する

$ sudo service rsync restart

rsyncdのポートを確認しつつ動いているのを確認

一応確認。

$ nmap localhost

PORT     STATE SERVICE
・・・
873/tcp  open  rsync
・・・

873/tcpで動作してますね。

rsyncd自動起動

$ sudo systemctl enable rsync.service

確認

$ sudo systemclt list-unit-files | grep rsync

rsync.serviceが「enables」と表示されればOK

rsyncdクライアント側server

クライアント側、つまりバックアップ元のserverからモジュールが有効になっているか確認。(rsync serverは192.168.1.29と仮定)

$rsync -avvvn rsync://192.168.0.29 .

Connected toとか、rsync.confで設定したモジュール名とか確認できればOK。

あとは

のバックアップ元と同じ。(同期先ディレクトリの作成とか、cronで定期実行とかはここではまるっと割愛)

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

コメントは日本語で入力してください。(スパム対策)

CAPTCHA