
私のサーバーにスケジュールされたバックアップを設定しようとしましたが、正常に動作しないようです。 24時間ごとに/ var / wwwの内容を自分のホームディレクトリのフォルダにある圧縮ファイル(tar?)にコピーする必要があります。また、24時間ごとにすべてのmysqlデータベースをダンプして、私のホームディレクトリの別のフォルダに保存したいと思います。両方のバックアップの名前を現在の日付として指定したいと思います。
サーバーはUbuntu 12.04.1を実行しており、SSH経由でのみアクセスできるため、グラフィカルインターフェイスはありません。
大丈夫ですか? TARとrsyncユーティリティを調べてみましたが、どうすればいいかわかりません。誰でも私を助けることができればとても感謝します。
答え1
これを行うスクリプトを作成し、cron
それを適用して毎日実行するように設定します/etc/cron.daily
。読むここにリンクの説明を入力してください
スクリプトはrsync(オプションあり--archive
)を実行し、日付を使用してファイル名を生成する必要があります。 MySQLデータベースの場合は、まずダンプを作成する必要があります。好きな言語で書くことができます。 Perlでは:
my ($day, $month, $year) = (localtime)[3,4,5];
my $time = sprintf ("%04d-%02d-%02d", $year+1900, $month+1, $day);
my @backup_commands = (
"/usr/bin/rsync --archive --copy-links /var/www /somewhre/$time",
"/usr/bin/rsync --archive --copy-links /mysqldunmp /somewhere/$time",
);
foreach (@backup_commands) {
system($_);
if ($? == -1){
## add you favaorite method of reporting here
}
}
パス名を調整し、MySQLダンプが生成されるセクション、問題を記録する必要があるセクションなどを設定する必要があります。しかし、それはすでに構造を提供しています。