現在、別のディレクトリから最も古いディレクトリバックアップを削除しようとしています。これらのバックアップは、 "tar -cpPzvf"を使用して圧縮されます。 xargsのを使用してtar.gzファイルを削除する方法があるかどうか私の簡単な質問があり、「RMは」bashスクリプト内のtar.gzファイルを削除します
コマンドこれは私が現在使用しているラインです:
sudo ls -t $BACKUPTARGET/adhoc/daily | tail -n +$NUMDAILY | xargs rm
を使用する変数は次のように定義されています。
$BACKUPTARGET
:「/バックアップ」$NUMDAILY
に点:この値が保持されるバックアップの数を指定し、異なる構成ファイルから切断されます。私はtar.gz形式のファイルを削除できない場合があります理解しrm: cannot remove 'david-lenovo.etc.2016-12-07.20-10.tar.gz': No such file or directory rm: cannot remove 'david-lenovo.etc.2016-12-07.20-09.tar.gz': No such file or directory rm: cannot remove 'david-lenovo.etc.2016-12-07.20-04.tar.gz': No such file or directory rm: cannot remove 'david-lenovo.etc.2016-12-07.20-02.tar.gz': No such file or directory rm: cannot remove 'david-lenovo.etc.2016-12-07.19-54.tar.gz': No such file or directory rm: cannot remove 'david-lenovo.etc.2016-12-07.19-50.tar.gz': No such file or directory rm: cannot remove 'david-lenovo.etc.2016-12-07.19-49.tar.gz': No such file or directory rm: cannot remove 'david-lenovo.etc.2016-12-07.19-48.tar.gz': No such file or directory
:
私は私のスクリプトを実行して実行すると、指定した数を除いて最も古いバックアップが記載されているが、私はこのエラーを取得しています最初に解凍するのではなく、私のスクリプトの複雑さを軽減する方法があるのかどうか不思議でした。
を動作するはずです:あなたは、あなたのスクリプトの中で、 'rm'を実行することを実現しますこのコマンドを実行するユーザーとして、必ずしも 'root'である必要はありませんか?あなたが持っている方法では、 'ls'だけがrootとして実行されます。 –
また、「*解凍しないで.tar.gzファイルを削除することはできません」* - poppycock!もちろん削除することができます。彼らは完全に普通のファイルです。 –