Last Updated on 2013年3月14日 by かんりにん
mysqlからダンプしたファイル"backup.sql"をパスワードつきで圧縮しようとしたところ、
普段使っているtar、gzip、bzip2ではパスワードを付けた圧縮ができなかった
(知らなかった…)ので、取り急ぎzipコマンドを使ってテスト。
# PGPとか使えばいい、という話ではあるけど…
1)コマンドラインから、オプション"-e"つきで圧縮
圧縮
$ zip -e backup.sql.zip backup.sql Enter password: Verify password: adding: backup.sql (deflated 77%) $ ll 合計 43728 -rw-rw-r-- 1 user user 36288793 3月 8 17:30 2009 backup.sql -rw-rw-r-- 1 user user 8483093 3月 8 17:40 2009 backup.sql.zip $
展開
$ unzip backup.sql.zip Archive: backup.sql.zip [backup.sql.zip] backup.sql password: replace backup.sql? [y]es, [n]o, [A]ll, [N]one, [r]ename: r ←元ファイルと比較したいので、上書きせずにリネームを指定する。 new name: backup.sql.arc ←元ファイルと区別するため、ファイル名を変更。 inflating: backup.sql.arc $ ll 合計 79168 -rw-rw-r-- 1 user user 36288793 3月 8 17:30 2009 backup.sql -rw-rw-r-- 1 user user 36288793 3月 8 17:30 2009 backup.sql.arc -rw-rw-r-- 1 user user 8483093 3月 8 17:40 2009 backup.sql.zip
最後に、チェックサムを確認して終了。
$ sha1sum backup.sql 77c8d7362f38250fc4ac6ece726918411ba4a2a0 backup.sql $ sha1sum backup.sql.arc 77c8d7362f38250fc4ac6ece726918411ba4a2a0 backup.sql.arc
問題なく展開できたのでOK。
2)オプション"-P"つきで圧縮/展開を試行
シェルスクリプトに書く際はパスワードもそのままコードに書く必要があるので
セキュアとは言い難いが、ひとまずできるよ~、ということで。
圧縮
$ zip -P 123 backup.sql.zip backup.sql adding: backup.sql (deflated 77%) $ ll 合計 43728 -rw-rw-r-- 1 user user 36288793 3月 8 17:30 2009 backup.sql -rw-rw-r-- 1 user user 8483093 3月 8 17:47 2009 backup.sql.zip
展開
$ unzip backup.sql.zip Archive: backup.sql.zip [backup.sql.zip] backup.sql password: replace backup.sql? [y]es, [n]o, [A]ll, [N]one, [r]ename: r new name: backup.sql.arc inflating: backup.sql.arc $ ll 合計 79168 -rw-rw-r-- 1 user user 36288793 3月 8 17:30 2009 backup.sql -rw-rw-r-- 1 user user 36288793 3月 8 17:30 2009 backup.sql.arc -rw-rw-r-- 1 user user 8483093 3月 8 17:47 2009 backup.sql.zip
最後に、チェックサムを確認して終了。
$ sha1sum backup.sql 77c8d7362f38250fc4ac6ece726918411ba4a2a0 backup.sql $ sha1sum backup.sql.arc 77c8d7362f38250fc4ac6ece726918411ba4a2a0 backup.sql.arc $