Misc/Webサイトの自動バックアップ
2017-06-14 (水) 06:49:17 (2680d)
前準備 †NET:Pingインストール †$ 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セットアップ †実行スクリプト †メイン - backup_web.pl †ダウンロード先が生きているかどうかチェックしてからDLを行う。icmpを投げるためにrootで実行する必要がある。
#!/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(); 各サイト用 †
#!/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/
#!/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設定 †/bin/echo pass | /usr/bin/sudo backup_web.pl > /dev/null 2> /dev/null 自分の場合、午前4時にサーバー自身のバックアップが走るので午前2時頃の実行が妥当か… 参考リンク † |