ディレクトリを暗号化するために使用できる方法はありますかgpg
?ファイルを引数としてのみ許可するようです。
答え1
tar
ファイルを最初に暗号化してからタールボールを暗号化するのはどうですか?
答え2
マンページでこのオプションを見ました--multifile
。
これは、コマンドラインで処理するか、STDINから読み取るために複数のファイルを許可するように他のコマンドを変更します。各ファイル名は別々の行にあります。これにより、多くのファイルを同時に処理できます。 --multi-fileは現在--verify、--encrypt、および--decryptと共に使用できます。 --multifile --verifyは分離された署名と一緒には使用できません。
具体的に探しているのは--encrypt-files
マンページです。
--multifile --encrypt と同じです。
答え3
承認された回答としてマークされたコメントを読みました。
|
(匿名パイプ)の魔法を知っておくべきです。確認してください。スーパーユーザーに投稿した回答です。出力が圧縮され暗号化されるようにtar
&を一緒に「結合」できることがわかります。gpg
それでも多くのシステムリソースを使用しているのでnice
。
また、コマンドラインでの作業をより簡単にするためのいくつかのトピックを提案したいと思いますが、データ配信用のファイル記述子と名前付きパイプを見てください。
上記を理解した後、どのような魔法を詠唱できるかを知りたい場合は確認してみてください。トラビス-CIコマンドラインからGnuPG自動化に関連するソリューションのログと関連スクリプトを作成します。
- - 更新
要求に応じて、前述のスクリプトでディレクトリ処理の例を見つけることができます。680もっと一般的な例は...
#!/usr/bin/env bash
dir_path="${1:?${0##*/} needs a directory path as the first argument}"
default_gpg_email="[email protected]"
gpg_email="${2:-$default_gpg_email}"
_dir_name="${dir_path##*/}"
_dir_name="${_dir_name%/*}"
Var_star_date="$(date -u +%s)"
if [ -d "${dir_path}" ]; then
tar -cz - "${dir_path}" | gpg --always-trust --armor --batch --no-tty --encrypt --recipient ${gpg_email} > /tmp/${Var_star_date}_${_dir_name}.tgz.gpg"
else
echo "${0##*/} operates on directories"
exit 1
fi
...script-name.sh /path/to/dir
または で実行できます。script-name.sh /path/to/dir [email protected]
しなければならない/tmp
ディレクトリのファイルに出力<current-date>_<top-dir-name>.tgz.gpg
答え4
そのため、ディレクトリ全体を暗号化する方法がわかりませんが、ここに.csvで終わるディレクトリ内のすべてのファイルを暗号化するコマンドがあります。
探す。 -name "*.csv" -exec gpg --cipher-algo AES256 --symmetric --passphrase-file .passphrase --batch --yes {};