「自分へのメール」を自動化するスクリプトで簡単バックアップ

SPONSORED LINK

ローカルドライブにあるTiddlyWikiのhtmlファイルをgmailで自分あてに送るバッチを作成したので手順を記録する。


SPONSORED LINK

メールアカウントの作成
Gmailでバックアップ用に送るメールアカウントを作っておく。
~+backup@gmail.com
など、+backupの名前にしておくと分かりやすい。
ここではtest+backup@gmail.comとする。
既にあるアカウントに送る場合この工程は飛ばしても良い。

②インストール
blat261をダウンロードし適当に展開。

Download Statistics: Blat Full Version/Blat v2.6.1/blat261.full.zip

筆者の場合はUSBメモリに入れた
以下Fドライブとして記述する。

③バックアップ対象ファイルの指定
F:\blat261\fullに
files-to-backup.txt
を作成。
txtを開き、バックアップ対象のファイルをフルパスで書いて保存する。
複数あるなら、カンマ区切りで書く。
筆者の場合は以下をバックアップ対象ファイルとして記述。

F:\d3\d3_main.htm

④コマンドラインから、SMTPサーバと送信元メールアドレスをツールにセットする。
筆者が使ったのはgsmtp163.google.comサーバ。
送信元もtest+backup@gmail.comでよい。
コマンドラインは以下を実行する。
(1)まずディレクトリをFドライブに移動する。

cd /d f:\blat261\full

(2)以下のコマンドラインを実行する。

Blat -install gsmtp163.google.com test+backup@gmail.com

⑤メール送信用スクリプトの作成
F:\blat261\fullに
email-file-backups.bat
を作成。
batを開き、以下を書いて保存する。

cd /d F:\blat261\full\

Blat -body “Just in case.” -s “メール件名” -to test+backup@gmail.com -af files-to-backup.txt

メール件名はデフォルトで[backup] Important filesが入っているので、そのままでもよいし、gmail側で件名フィルタをかけるなら変えてもいい。

⑥動作確認1
一度email-file-backups.batを動かしてみる。
test+backup@gmail.comにメールと添付ファイルが届いているかどうか確認する。

⑦Gmailのフィルタを作成する。
test+backup@gmail.comに対してフィルタをかける。
フィルタは何でもいいが、あて先がtest+backup@gmail.comのメールを対象にするだけでもいいだろう。
このメールに対し、backupなどのラベル名を自動的に付与するように設定する。
この辺は運用次第なので適当に。

⑧動作確認2
email-file-backups.batを起動し、test+backup@gmail.comへメールが届き、フィルタでラベルが付与されていることを確認する。

⑨運用フォロー
運用を楽にするため、デスクトップにemail-file-backups.batのショートカットを作ったり、タスクスケジューラで自動的に実行するように設定する。

メール自動化スクリプトを圧縮仕様に改良

その後バッチをちょっと改良した。
理由としては

  • d3のHTMファイルが1M近くになってサイズが大きくなってきた。
  • 素のまま送っているので、パケットやメールに対する脆弱性がある。

この2点から、圧縮して送ることにする。
圧縮ソフトとしては、Lhacaを使う。
この運用の前提は、d3のHTMファイルをUSBで持ち歩くことなので、Lhacaも予めUSBに入れておく。

出来ればPStartでランチャの一発起動にしておくと便利だが、今回はバッチにコマンドを仕込むので手動で圧縮する必要はない。

ランチャ起動はこんな感じ

USBは挿した時に筆者のドライブではF:\となるので、Lhacaもd3もFドライブにそれぞれフォルダを作って入れてある。

コマンドを仕込む前に、Lhacaの圧縮設定をしておく。
* 圧縮をファイルと同じ場所に設定。
* 圧縮形式にLHAを指定。
* 同名のファイルは上書きにする。
* 関連付けはLZHにしておく。

各アプリケーション・ファイルの場所は以下である。
Lhaca
F:\Lhaca\Lhaca.exe

d3
F:\d3\d3_main.htm


blat
F:\blat261\full\email-file-backups.bat F:\blat261\full\files-to-backup.txt
この状態にしたら、メール送信対象ファイルの設定ファイルと、メール送信用バッチファイルに以下の記述を加える。

■メール送信対象ファイルの設定ファイル
F:\blat261\full\files-to-backup.txt
送信するファイルをhtmからlzhに変更しただけである。

元の記述

F:\d3\d3_main.htm

変更後の記述

F:\d3\d3_main.lzh

次に、メール送信用バッチファイルを編集する。

■メール送信用バッチファイル
F:\blat261\full\email-file-backups.bat
1行目にLhacaによる圧縮処理を加えているだけである。
元の記述

cd /d F:\blat261\full\ Blat -body “Just in case.” -s “[backup] Important files” -to test+backup@gmail.com -af files-to-backup.txt

変更後の記述

f:\Lhaca\Lhaca.exe /x /c f:\d3\d3_main.htm

cd /d F:\blat261\full\ Blat -body “Just in case.” -s “[backup] Important files” -to test+backup@gmail.com -af files-to-backup.txt

各ファイルを編集後保存したら、email-file-backups.batを起動してみる。

最初に圧縮処理がされ、F:\d3に\d3_main.lzhが作成される。
f:id:TamuraNokia:20140710003917j:plain

次に\d3_main.lzhがGmailの指定アカウントにメール送信され、指定したラベルが付与される。
ここでは”backup”のラベルを付与し、直接アーカイブ化するフィルタを施している。

念のためファイルをダウンロードし解凍したが、最新の状態になっていた。
この運用では、何度もF:\d3に\d3_main.lzhを上書きして最新のファイルを送ることが前提なので、F:\d3に\d3_main.lzhがある状態で再度email-file-backups.batを起動してみる。

d3_main.lzhが作成され、タイムスタンプが更新される。
その最新のLZHファイルがGmailの指定のアカウントに送られ、ラベルが付与されるところまで確認出来ればOKだ。

The following two tabs change content below.
SPONSORED LINK

この記事をシェアする