#contents
*前準備 [#xda40a8d]
**NET:Pingインストール [#s6a1070f]
$ wget http://ftp.cpan.jp/authors/id/B/BB/BBB/Net-Ping-2.31.tar.gz
$ tar xzvf Net-Ping-2.31.tar.gz
$ cd Net-Ping-2.31
$ perl Makefile.PL
$ make
$ su
# make install
*sudoセットアップ [#p74726ed]
-[[sudoを使ってみる>Misc/sudoを使ってみる]]
*実行スクリプト [#x1713f37]
**メイン - backup_web.pl [#m12f384f]
ダウンロード先が生きているかどうかチェックしてからDLを行う。icmpを投げるためにrootで実行する必要がある。
-backup_web.pl
#!/usr/bin/perl -w
use Net::Ping;
my $host="";
my $timeout=1;
my $p = Net::Ping->new("icmp");
$host="hoge.fuge";
if($p->ping($host, $timeout)){
print "$host is alive.\n";
system("sudo -u foo dlscript.sh");
} else {
print "$host dead.\n";
}
$p->close();
**各サイト用 [#d4fbdd91]
-wgetの場合
#!/bin/sh
#/* G L O B A L S **************************************************/
PATH=/bin:/usr/local/bin:/sbin:/home/jp/bin:/home/foo/bin/backup:/usr/bin:
cd /home/foo/public_html/hoge
wget -r -nH -N ftp://foo:foo-pass@hoge.fuge/
-rsyncの場合
#!/bin/sh
#/* G L O B A L S **************************************************/
PATH=/bin:/usr/local/bin:/sbin:/home/jp/bin:/home/foo/bin/backup:/usr/bin:
cd /home/foo/public_html/hoge
rsync -avzb -e ssh --delete -r foo@hoge.fuge:\~/ .
*cron設定 [#ob0ea066]
/bin/echo pass | /usr/bin/sudo backup_web.pl > /dev/null 2> /dev/null
自分の場合、午前4時にサーバー自身のバックアップが走るので午前2時頃の実行が妥当か…
*参考リンク [#r428ba1a]
[[GNU Wget 1.9 Manual: タイムスタンプ:http://www.bookshelf.jp/texi/wget/wget-ja_5.html]]
[[Manpage of sudo:http://www.linux.or.jp/JM/html/sudo/man8/sudo.8.html]]