回答:
tar
ファイルを暗号化してからtarballを暗号化しないのはなぜですか?
私--multifile
はマンページでオプションを見ました:
これにより、他の特定のコマンドが変更され、複数のファイルを受け入れてコマンドラインで処理したり、STDINから読み取り、各ファイル名を別々の行に表示したりします。これにより、多くのファイルを一度に処理できます。--multi‐ファイルは現在--verify、-encrypt、および--decryptとともに使用できます。--multifile --verifyは、分離された署名では使用できないことに注意してください。
特に探しているのは--encrypt-files
、マンページです。
--multifile --encryptと同じです。
例外としてマークされた回答のコメントを読みました。|
(匿名パイプ)の魔法を知っておく必要があるようですが、スーパーユーザーに投稿した答えを確認すると、tar
&gpg
を結合して、出力を圧縮して暗号化してから出力することができます。まだかなりのシステムリソースを使用するため、man
ページを確認してください。nice
コマンド、特定の割合のリソースのみを使い切るコマンドの機能を制限して。また、一般的にコマンドラインであなたの人生を楽にするかもしれないトピックを提案する気分である間; データを渡すためにファイル記述子と名前付きパイプを調べます。
上記の主題を理解したときにどのような魔法を実行できるかを確認したい場合は、コマンドラインでのGnuPGの自動化に関連するソリューションのTravis-CIビルドログと関連スクリプトを確認してください。
----アップデート
要求に応じて、ディレクトリを処理するための例は、前述のスクリプトの680行目にあり、より一般的な例は...
#!/usr/bin/env bash
dir_path="${1:?${0##*/} needs a directory path as the first argument}"
default_gpg_email="your-email@host.domain"
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 new-email@host.domain
で実行され、ディレクトリにファイルを出力する必要が/tmp
あります<current-date>_<top-dir-name>.tgz.gpg