*の方向性はどうでもいい

プログラミングなどの学習履歴として最初は書いてたけどもう何でもいいやと思って今に至る

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

いきなりコードです。

 

/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は正常終了