タイトルが示すように、接頭辞の付いたすべてのディレクトリ" ほとんどの場合、すべてのディレクトリには、通常、別のバックアッププロセスによって新しいディレクトリが作成されるたびに、接尾辞「_ [0-9]」が付きます。例:shスクリプトまたはPythonを使用して、3日以上経過しても一意の結果を無視する特定の文字列で始まるすべてのディレクトリを検索および削除します
drwxr-xr-x. 2 root root 4096 Mar 5 10:00 TB-setcluster
drwxr-xr-x. 2 root root 4096 Mar 6 10:00 TB-setcluster_1
drwxr-xr-x. 2 root root 4096 Mar 7 10:00 TB-setcluster_2
drwxr-xr-x. 2 root root 4096 Mar 8 10:00 TB-setcluster_3
drwxr-xr-x. 2 root root 4096 Mar 8 13:02 TB-drycluster_3
drwxr-xr-x. 2 root root 4096 Mar 8 13:02 TB-drycluster_2
drwxr-xr-x. 2 root root 4096 Mar 8 13:02 TB-drycluster_1
drwxr-xr-x. 2 root root 4096 Mar 8 13:02 TB-drycluster
drwxr-xr-x. 2 root root 4096 Mar 5 13:02 TB-testcluster
drwxr-xr-x. 2 root root 4096 Mar 5 13:02 TB-preprod-cluster
任意のバックアップが失敗した場合、言った、私は潜在的に、私は唯一のバックアップの価値は、以下の3日間場合は、1つのバックアップを持っているシナリオで終わる可能性を意味し、作成された増分ディレクトリを取得することはありません失敗することになった。 このイベントでは、私が持っているかもしれない1つのコピーを削除したくありません。
誰もがこれを行う最良の方法を提案できますか?私は、Linuxカーネルの縮小版であるESXIボックス上で動作しているため、これをスクリプト化するためのbourneシェルのみ、あるいは多分Python(これは私が少し知っている)を持っているだけです。
私は実行することで、一意の名前の出力を取得するfindコマンドがあります。
find /root/test/ -depth -name "TB*" -type d -mtime 3| sort | awk -F'/' '{print $4}' | sed -r 's/_[0-9]+$//g' | uniq -u
をしかし、私はその後、上記のコマンドからの各結果は任意の除去プロセスから除外されていることを確実にする方法がわからないと思います。
ご協力いただければ幸いです。私はこれをやっていたと私は必ずしたい場合