bu
ユーザーとしてプログラムを実行したいと思い、backup
出力ファイルが場所にあることを望みます/mnt/nas1/
。ただし、この場所はのみ書き込むことsysred
ができ、bu
stdoutに出力するコマンドラインオプションはなく、ファイルにのみ出力できます。ファイル全体を一時ディレクトリに一時的に保存せずに出力ファイルをターゲットの場所に書き込むにはどうすればよいですか?以下はコマンドの例です。
sysred@host1:~> sudo -u backup bu -f /mnt/nas1/backup.zip
もちろん、backup
ターゲットフォルダにアクセスできないため失敗します。
sysred@host1:~> sudo -u backup bu -f /dev/stdout > /mnt/nas1/backup.zip
/dev/stdout
現在に属しているのでこれも失敗すると思いますsysred
。
次に試したのは、名前付きパイプを使用することでした。ユーザーとしてsysred
:
mkfifo -m 0777 /tmp/backup
cat /tmp/backup > /mnt/nas1/backup.zip &
sudo -u backup bu -f /tmp/backup
エラーメッセージ:Failed to create /tmp/backup: zip: not a valid zip file
。別のアイデアがありますか?