PerlでMySQLのバックアップ

| コメント(0) | トラックバック(0)
PerlでMySQLのバックアップを行うサブルーチン。
※mysqldump使用


sub backup{
  #### 古いバックアップファイルを削除
  system "rm ./backup/backup_*.tar.gz";

  #### 現在日時取得
  my @cur = &get::current(); #詳細は省略
  my $datetime = "$cur[5]$cur[4]$cur[3]-$cur[2]$cur[1]$cur[0]";

  #### MySQLデータの取得と圧縮
  system "mysqldump -a --opt --user=$dbuser --password=$dbpass --default-character-set=binary $dbname > ./backup/backup.mysql";
  system "tar -czPf ./backup/backup_$datetime.tar.gz ./backup/backup.mysql";
  #### 一時ファイル消去
  system "rm ./backup/backup.mysql";

  #### ダウンロード実行
  print "Location: ./backup/backup_$datetime.tar.gz\n\n";

  exit;
}


※gzファイルが勝手に展開されてしまう場合はapacheの設定を変えてください。
※systemを使ってるので別にperlにこだわる必要なし。
※mysqldumpコマンドが使えなきゃ意味ない。

サーバにファイルを残したく無い場合→http://www.igreks.jp/dev/2009/10/perlmysql2.html

トラックバック(0)

トラックバックURL: http://www.igreks.jp/blog/mt-tb.cgi/367

コメントする