バックアップはFTPで!

データファイルのバックアップをどうしようか?と考えていました。
主な要望は以下
・homeディレクトリ毎すべてのファイルをバックアップしたい
・バックアップ先はLinkStation(バッファロー製)
・使えるプロトコルは「FTP」
LinuxサーバーからLinuxサーバーへのバックアップであれば「rsync」を使用できるが、相手がFTPしか使えないのでどうするか?
FTPコマンドでは1ファイルずつ操作するので、増えていくファイルに対応するのは至難の業ですね。
そこで、何かないかとさがしていたところ、見つけたのは「lftp」です。rsyncが流行するまで使用されたことがあるようですが、幸いCentOSには標準で入っている(追加のモジュールが必要です)ようです。
以下、設定手順
必要なモジュールをアップデートする
# yum install lftp
lftp
perl-String-CRC32
rootフォルダにシェルスクリプトを作成する
# vi daily_backup.sh

#!/bin/sh
# FTP SYNC
lftp -u ユーザ名,パスワード -e “mirror –reverse –only-newer /home /disk1/backup” ホスト名 << END quit END --- 基本的なコマンドは lftp -u ユーザ名,パスワード ホスト名 となる。ホスト名はIPアドレスでよい。 「mirror コピー元,コピー先」でフォルダの同期が行えるが標準はダウンロードになる。今回はバックアップのLinkStationにアップロードしたいので、「--reverse」スイッチを使用する。またバックアップ節減のため新規ファイルのみ対象とするため、さらに「--only-newer」スイッチを付加する。 lftpコマンドは自身で終了しないので、最後に「quit」を入力する。 シェルの権限変更 # chmod 700 daily_backup.sh 毎日2時に実行する # vi /etc/crontab --- 0 2 * * * root /root/daily_backup.sh --- # service crond restart これでFTPで同期処理できるようになった。 参考サイト: lftpで行う手軽なバックアップ