Windows 7-zipで暗号圧縮してファイル転送

Windowsで使用しているといろいろと惰弱性があるので、なるたけその場に置かない様に重要なファイルを圧縮して別サーバーに暗号化してバックアップをとることにした。

backup.bat

@echo off
“C:\Program Files\7-Zip\7z.exe” a -mem=AES256 -ssw -pパスワード C:\backup\bkjoy%date:~-10,4%%date:~-5,2%%date:~-2,2%.zip C:\u-next
“C:\Program Files (x86)\WinSCP\WinSCP.com” /script=C:\u-next\backupjoy.txt
del C:\backup\*.zip

7-zipのオプションでaは圧縮らしい。そして、暗号化などが、その後ろにくっついている物です。
解凍は、普通にパスワードだけをいれたら解凍できた。つまり、ファイルだけが暗号化されているってことなんですね。

%date:~-10,4%%date:~-5,2%%date:~-2,2% の部分は、今日の日付をyyyymmddを出力させている、。

次のWinSPCの部分が、ファイルを転送する部分でスクリプトを呼び出して転送をかけている。

open ftp://joy_user:サーバー接続パスワード@joy.testserver.jp

put C:\backup\*.zip
exit

Cドライブのbackupフォルダのzipファイルを根こそぎ転送してバックアップをとっている。本当は、せっかく日付でファイルを作成しているので、日付で転送させたかったがうまくいかなかった。
なので、転送した後は、backupフォルダからもファイルを削除しているって感じです。

LINUX UNZIPによる解凍

解凍するだけでもいろいろと面倒だ。

unzip -P’m(a5f>2{B1o.N’ ‘/home/joy/aaa_data/01kaitsu/*.zip’ -d /home/joy/ntt_unzip_data/01kaitsu

-Pの後ろは、パスワードだが、特殊文字が入っているとうまくいかない。なので、’’で囲うとテキストとして判断してくれる。

‘/home/joy/aaa_data/01kaitsu/*.zip’ このフォルダにあるzipファイルを全部解凍するってことで、*をつかったが、これもそのままだとエラーがでる。’’で囲う事でそのエラーが回避される。

-d /home/joy/aaa_unzip_data/01kaitsu この部分は、この場所に解凍するという指示である。

とりあえず、これで、このフォルダにあるZipファイルは、すべて一発で解凍された。

LINUX ZIPファイル解凍圧縮

パスワード付きのZIPの作成(圧縮)または解凍をコマンドで行うには -P オプションを使う。

zip -P パスワード 書庫ファイル名 圧縮対象ファイル
unzip -P パスワード 書庫ファイル名

zip ファイルをコマンド一発で解凍するシェルスクリプト

#!/bin/sh
for f in *.zip
do
unzip $f
done

指定ディレクトリに解凍するには、
$ unzip -d /dir/hoge tmp.zip

●オプション

-c 標準出力に展開結果を表示します。
-d 指定ディレクトリにファイルを展開します。
-l アーカイブの中身を表示します。
-p 展開結果をパイプ(|)に渡します。
-t アーカイブの展開テストします。
-v アーカイブの中身とその詳細を表示します。
-z アーカイブのコメントを表示します。