Webサイトの10個のバックアップをSVNに保存し、毎晩バックアップしてから最も古いバックアップを削除するbashスクリプトを作成したいと思います。
svnでこれらのファイルの経過時間を取得できるSVNコマンドはありますか?そうすれば、そのファイルに対して文法的に「svndelete」を呼び出すことができますか?
Subversionは間違いなくこの仕事のためのツールではありません。何かをSubversionにコミットすると、それを削除する実際的な方法はありません。
bashの標準コマンドを使用して目標を達成する方法はたくさんあります。ftp、wget、curl、scp、sshなどのツールを使用してサイトファイルをダウンロードし、日付に基づいて異なるファイル名でtarおよびzip形式で圧縮できます。
#!/bin/bash
DELETEME='htdocs_'`date '+%Y%m%d' -d '-10 days'`'.tar.gz'
NEW='htdocs_'`date '+%Y%m%d'`'.tar.gz'
SOURCE='/path/on/server/to/backup'
HOST='IP_or_hostname'
USER='user_on_HOST'
ssh $USER@$HOST tar czvf - $SOURCE > $NEW
rm -v $DELETEME
次に、これを毎日のcronジョブとしてスケジュールします。
Subversionがどのように機能するかを理解しているようには思えません。
Subversionはバージョン管理システムです。あなたは本当にそれを逆に使用します、あなたはあなたのウェブページとJavaScriptをSubversionで書き、そしてあなたのウェブページをSubversionからあなたのウェブサイトにデプロイします。Subversionのすべてのファイルの完全な履歴があり、タグの作成などの機能を使用して、Webサイトの特定のリビジョンをマークします。このようにして、誰が変更を加えたのか、なぜ変更が加えられたのかを知ることができます。
Webサイトのバックアップを作成し、最も古いバックアップを削除してスペースを節約したいようです。
バックアップに最適なrsyncを調べる必要があります。Rsyncは高速で、使い方はとても簡単です。
Subversionのオンラインマニュアルを見て、最初の2つまたは3つの章を読むことができます。Subversionの使用方法を説明し、オープンソースソフトウェアの最高のマニュアルの1つです。それを読んだ後、結局、バックアップではなく開発のためにSubversionを使用することに決めるかもしれません。