学習履歴

プログラミングなどの学習履歴

ファイルを取得し、バックアップのルールを決めるスクリプト

いきなりコードです。

 

/usr/bin/ftp -i -n <<EOF 2>&1 | grep .

open 接続先ポート

user 接続先ID 接続先パスワード

cd /

cd テスト用ディレクト

lcd ローカルディレクトリ名

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)に入れる

lcd・・ローカルの作業ディレクトリに移動

・binary・・ファイル転送モードをバイナリモードへ変換

・get・・転送元にあるファイルをローカルホストへ転送

・$?・・直前に実行された処理の終了コード値を指す

・-ne・・not equals

・mkdir -p・・作成と同時に書き込み権限を与える

・touch -c・・ファイルが存在しない場合でも空ファイルを作らない

・-m・・修正時刻だけを変更する

・exit・・9は異常終了したとき、0は正常終了