自動フォルダを含むscpバックアップコマンドが2回実行されると、古いファイルは上書きされません。

自動フォルダを含むscpバックアップコマンドが2回実行されると、古いファイルは上書きされません。

私のウェブサイトからバックアップを受けたいです。正しいデータを含むディレクトリを自動的に生成するには、次のコマンドを使用しています。

scp -rp [email protected]:webdir/ /mnt/Webseite/Backups/"$(date +"%Y-%m-%d")"

これは非常にうまく機能します。ただし、同じ日に同じコマンドを2回目に実行すると、「webdir」ディレクトリが日付フォルダにコピーされます。

最初の実行:

/mnt/Website/Backups/2020-05-22/"files"

2回目の実行:

/mnt/Website/Backups/2020-05-22/"files"
/mnt/Website/Backups/2020-05-22/webdir/"files"

しかし、同じ日の「古い」バックアップを上書きしたいと思います。これにより、1 日に 1 回だけバックアップできます。

私がここで何を間違っているのか?この問題は簡単に解決できるようです。 Google ではお手伝いできません。

ベストアンサー1

いくつかのテストをしてみると、以前の答えが間違っていることがわかりました。後でディレクトリがターゲットに存在しないのが実際に最善であることがわかりました。 2番目にコマンドを実行すると、そのフォルダはDATEフォルダにあると予想されます。最初のコピーでは、ソースディレクトリの名前が変更されたのと同じです(ターゲットが存在しないため)。 2番目に存在する場合、scpはそのディレクトリを既存のディレクトリに複製しようとしていることに気付きます。

問題に対する解決策は、まず削除することです。

rm -rf /mnt/Webseite/Backups/"$(date +"%Y-%m-%d")" #or move it if you want to keep the files
scp -rp [email protected]:webdir /mnt/Webseite/Backups/"$(date +"%Y-%m-%d")"

おすすめ記事