ファイルを取得し、バックアップのルールを決めるスクリプト
いきなりコードです。
/usr/bin/ftp -i -n <<EOF 2>&1 | grep .
open 接続先ポート
user 接続先ID 接続先パスワード
cd /
cd テスト用ディレクトリ
binary
get ファイル名
quit
EOF
if [$? -ne 0 -o ! -e ディレクトリ名/ファイル名]; then
logError "ファイル取得失敗"
exit 9
fi
mkdir -p バックアップ用のディレクトリ名
cp -f コピー対象のファイル コピー用ファイル名 `date "%Y%m%d"`
if [$? -ne 0]; then
logError "バックアップ取得失敗"
else
touch -c -m バックアップ先ディレクトリ名
number_of_file = $(ls バックアップ用ディレクトリ名 | wc -l)
if [ ${number_of_file} -ge 8]; then
find バックアップ用ディレクトリ名 -mtime +6 | xargs rm -f
fi
fi
exit 0
・/usr/bin/ftp・・ファイル転送。-iで複数のファイルを転送中にプロンプトを出さないようにする。-nでオートログインを利用しない。
・2>&1・・標準エラー出力(2)を標準出力(1)に入れる
・binary・・ファイル転送モードをバイナリモードへ変換
・get・・転送元にあるファイルをローカルホストへ転送
・$?・・直前に実行された処理の終了コード値を指す
・-ne・・not equals
・mkdir -p・・作成と同時に書き込み権限を与える
・touch -c・・ファイルが存在しない場合でも空ファイルを作らない
・-m・・修正時刻だけを変更する
・exit・・9は異常終了したとき、0は正常終了