※ ChatGPTを利用し、要約された質問です(原文:コマンドでWEBサイトのバックアップを取得する方法)
コマンドでWEBサイトのバックアップを取得する方法
このQ&Aのポイント
WEBサイト全体のファイルのバックアップをバッチファイルを利用して取りたいと考えています。
ローカルの容量があまりないので、ファイルを圧縮して保存したいです。
毎日バッチファイルを実行して、最新のバックアップを保持し、古いバックアップは削除したいです。
コマンドでWEBサイトのバックアップを取得する方法
WEBサイト全体のファイルのバックアップをバッチファイルを利用して取りたいと考えています。※最近ファーストサーバーでファイルが消失した障害があったので、私もバックアップをしたい、やるなら自動化したいと思い立ちました。
ローカルの容量があまりないので、ただ全ファイルをダウンロードするだけでなく、ダウンロードしたファイルを圧縮したいです(圧縮形式は何でも構いません)。
ローカルの環境はWindowsVistaSP2です。
以下のようなバッチファイルを作成したのですが、makecab実行時にフォルダをファイルではないから・・・と「<フォルダ名>is not file」のようなメッセージが出てエラーになってしまいます。
結果、圧縮ファイルは作成されません。圧縮が完了したら、元のファイルはフォルダ毎削除するようにしているので、何も残らないです・・・
----------------
C:\wget.exe --ftp-user=user --ftp-password=password --passive-ftp -P C:\Users\user\WebSiteFile -r -l 0 -nH ftp://hogehoge.com/hogehoge.com/
Dir /S /B C:\Users\user\WebSiteFile\hogehoge.com > C:\Users\user\WebSiteFile\list.txt
makecab /D RptFileName=NUL /D InfFileName=NUL /D CabinetNameTemplate=sitebackup.cab /D DiskDirectoryTemplate=C:\Users\user\WebSiteFile\ /F C:\Users\user\WebSiteFile\list.txt
del C:\Users\user\WebSiteFile\list.txt
rmdir /S /Q C:\Users\user\WebSiteFile\hogehoge.com
----------------
そこで質問なのですが、ダウンロードしたフォルダ全体を圧縮するためのいいやり方はありますでしょうか?
また、できれば、バッチファイルを毎日実行して、圧縮されたファイルを3日分くらいは残して他は削除するようにしたいのですが、いい方法が思いつきません(知識不足ですみません)。
やりたいことをまとめると、、、、
1. WEBサイト上(FTP上)にあるファイルをすべてダウンロード
2. 容量確保のためにダウンロードしたファイルを圧縮
3. 圧縮前のファイルは削除
4. 圧縮ファイルを常に新しい順に3つ保持(それ以外は削除)
このようになります。
どうかお助けいただきたく存じます。
よろしくお願いいたします。
お礼
ご回答ありがとうございます。 非常にわかりやすかったので、7zaかMakeZIP.VBSを使いたいと思います。本当に助かります。 フォルダの圧縮を毎日実施して、常に3つのzipを保持したいのですが、実施する度に圧縮ファイル名を変更することって可能ですか?また、3つ以上作成されたら一番古い圧縮ファイルを削除するバッチを作成することって可能ですか? ご教示いただけると幸いです。 よろしくお願いいたします。