原稿の自動バックアップとメール送信

ここでは、「原稿の自動バックアップとメール送信」 に関する記事を紹介しています。
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
Linux上で原稿を書いているが、手作業でバックアップするのが面倒くさくなったのでスクリプトにやらせてみることにした。
以下のスクリプトはカレントディレクトリのファイルを ./backup/[現在時刻] のディレクトリにコピーし、lha で圧縮して、それを指定されたメアドに投げる。
(※sendmailが動いていることが前提)

使うための準備:
1.以下のスクリプトをエディタに貼り付けて、メアドの部分を自分のものに変えてから適当な名前、たとえば backup_mail.sh で保存
2.実行属性をつける。コマンドラインで右を実行 chmod u+x ./backup_mail.sh
3.作業しているディレクトリにコピー cp ./backup_mail.sh [作業しているディレクトリ名]

使い方:
1.コマンドラインから ./backup_mail.sh を実行するだけでOK。

#!/bin/sh

#backupディレクトリの存在を確認して、なければ掘る
if [ -e backup ];
then
echo "バックアップを開始します。"
else
echo "backupディレクトリを作成しました。バックアップを開始します。"
mkdir backup
fi

#現在時刻を取得してその名前でディレクトリを掘る。
directoryname=`date '+%Y%m%d%H%M%S'`
mkdir ./backup/$directoryname

#カレントディレクトリ以下を現在時刻のディレクトリへバックアップ
cp ./* ./backup/$directoryname

#バックアップディレクトリ内に移動し、アーカイバで固めてからメールで投げる.
pushd ./backup/$directoryname
lha a $directoryname.lzh *
uuencode $directoryname.lzh Binary | mail -s 'Data_backup' ****@****.com
popd
echo "バックアップ終了しました。"



メールを飛ばす必要がないときはuuencodeの行をコメントアウトすればOK。
差分をとってるわけではないので、ディスク容量には注意。

このスクリプトでは、圧縮ファイルをuuencodeしてメール添付している。MIMEではないので注意。
復元時は該当するメールをテキストで保存して、それをエディタで開いて本文からメールヘッダを除去して上書き保存。

cat [メールから復元したバックアップファイル] | uudecode -o hoge.lzh


とすればlzhファイルが手に入る。
スポンサーサイト
コメント
この記事へのコメント
毎日のお買い物で、ポイントがたまる アイワイカード申し込み受付中!

http://xn--cckea2a3lzimd.biz/
2008/10/15(水) 17:05 | URL | アイワイカード #-[ 編集]
コメントを投稿する
URL:
Comment:
Pass:
秘密: 管理者にだけ表示を許可する
 
トラックバック
この記事のトラックバックURL
http://tekitobibouroku.blog42.fc2.com/tb.php/68-07e42aed
この記事にトラックバックする(FC2ブログユーザー)
この記事へのトラックバック
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。