「データバックアップwith FTP」シェル作成

少し前までシェルって何?って感じだったけど、LPIの勉強をしてて簡単なシェルを作ってたら、だんだんエスカレートしていって、サーバの中の必要なデータのバックアップシェルを作って、これをFTPで定期的に別のストレージにバックアップ出来ればかなり安心だと考えた。
最初そんな事出来たら良いなくらいに考えてて、調べてたら大橋(さん)のページの通りにすれば出来そうなのでやってみた。


まず、FTPサーバに接続して、ファイルをゲットするまでのに入力する内容を「login.www」というファイルにまとめる。
ファイルの内容は以下の通り。
————————————————————-ここから
open <接続先FTPサーバのIPまたはホスト名>
user <接続先FTPサーバのユーザー名> <そのパスワード>
idle 600
prompt
hash
lcd /****/****/backup/ ←転送元のファイルがあるディレクトリを指定
cd /****/backup/ ←転送先のディレクトリを指定
bin
mput <転送したいファイル名>
————————————————————-ここまで
あとは、シェルで、バックアップしたいファイルを圧縮する内容と、それをFTPする為に、先ほど作成したlogin.wwwというファイルに処理を任せるコマンドを書けばOKです。
僕は今のとこ、圧縮をlhaコマンドでやる方法しか知らないので、以下のようにしました。
————————————————————-ここから
lha a /home/****/backup.lzh /var/www/html/* ← /var/www/html/にあるファイルをすべて圧縮してホームディレクトリにbackup.lzhという保存するという意味
cd /usr/bin ←ftpコマンドがあるディレクトリまで移動
ftp -n < /****/****/login.www ← これからの入力をlogin.wwwに書いてある内容に渡す -------------------------------------------------------------ここまで これをcrontabに一日毎に実行するように登録すれば完成!

Similar Posts:

コメントを残す