雑記:CGI経由でサーバのバックアップをとる

JW (エホバの証人)、サイト運営、技術、自己啓発、雑談など雑多な話題を密かに扱う不定期更新の雑記。

CGI経由でサーバのバックアップをとる

以下、CGIが使えるサーバで簡易にデータのバックアップファイルを取得する方法です。sshやtelnet等が使えないサーバとか、FTP等で1つ1つファイルを落とすのがめんどくさい方向け。ちなみに、さくらのレンタルサーバでは使えました。他のサーバでは不明です。CGI経由でzipかtarが使えるサーバ、perlのsystem命令を許可しているサーバなら動くと思います。

種を明かすと、単純にCGI経由でコマンドを叩いているだけで何の凄さもないのですが、tar+gzで圧縮したい場合は

#!/usr/bin/perl

print "content-type: text/plain\n\n";
system("tar cvzf /home/yosh/backup.tgz /home/yosh/www/");
print "done\n";
zipで圧縮したい場合は
#!/usr/bin/perl

print "content-type: text/plain\n\n";
system("zip -r /home/yosh/backup.zip /home/yosh/www/");
print "done\n";
と書いたCGIファイルをサーバにアップロードして、ブラウザ経由でアップロードしたCGIファイルにアクセスするだけです。ファイルのパスは自分の環境に合わせて適当に変える必要があります。うまくいくとコマンドの結果がずらずらとブラウザに表示されます。最後にdoneと表示されたら終了です。後はFTPなりHTTPなりで作成した圧縮ファイル(backup.tgzないしはbackup.zip)を取ってこればサイト内の全ファイルを圧縮したファイルが手に入ります。

2006年11月02日07:00投稿 | 技術的なこと | Comments (2) | Trackbacks (0)

この記事に対するコメント

 私のサイトのホームディレクトリはアクセス禁止になっているので、CGIをどこに置けばいいかと迷ったんですが、どこでもOKなんですね。こんなに簡単な文字だけでサイトのバックアップができるなんて驚きでした!
 これまでは一つひとつ更新日付を確認しながらFTPでバックアップしていたんですが、丸ごと圧縮DL、zipファイルにすれば解凍せずとも中身を閲覧できるのでなおのこと便利ですね。
 ところで、ホームディレクトリの上の階層まで含めてバックアップできたらいいなと思ったんですが、これはできないようですね。よそ様のサイトの保存に応用するのも難しいでしょうか?
 あと、今まで見てはいたのに注目していなかったんですが、「さくら」のサーバーでしたら、コントロールパネルのファイルマネージャーを開くと、右下に一括ダウンロードというのがあるので、バックアップでしたらこれも便利でしたよ。
 それにしても、きょうはプログラムを書く面白さを教えていただきました。といってもまだ意味は理解できませんけど(^^ゞ。

Posted by 野バラ at 2006年11月09日 11:28

基本的に他の人に自分のホームディレクトリが見れないような設定がされていると思うので、自分のホームディレクトリ以下しかバックアップは取れないと思いますよ。

さくらのサーバのスタンダードプランは安価にかつ結構いろいろできるので、便利ですよね。といっても有料サーバはロリポップとさくらのレンタルサーバの2種類しか使ったことが無いんですが。。

Posted by yosh at 2006年11月09日 14:45


コメントを投稿する




スパム防止のため以下の5文字の英数字を入力してください。
(読み難い場合は、このページを再読み込みしてください):


このブログについて

  • このブログは「元エホバの証人2世のメモ」および「元エホバの証人ポータル exjw.org」の管理人yoshのブログです。JW(エホバの証人)のことだけではなく、サイト運営、技術、自己啓発、雑談など雑多な話題を徒然なるままに書いております。「エホバの証人」というテーマに対して、Web技術という観点から何かできることがないかを現在模索中です。

カテゴリ

最近のエントリ

関連リンク

RSS

Syndicate this site (XML)

カウンタ

  • 合計:total
  • 今日:today
  • 昨日:yesterday

Powered by

本ブログはMovable Type 3.33-jaで作成されております。

本サイトはさくらのレンタルサーバ上で運営されております。