Quantcast
Channel: サイト制作の豆知識 »運用・管理
Viewing all articles
Browse latest Browse all 3

mysqldumpをcronで1日1回取得し、バックアップ用ファイルを保存する

$
0
0

●環境:AWSのEC2でOSはAmazon Linux

  1. ec2-userのホームディレクトリ /home/ec2-user 内にmysqldumpファイルを置くフォルダを作成
  2. mysqldumpファイルを取得するシェルスクリプトを作成する
  3. 動作確認し、問題がなかれば、cron.dailyにシェルスクリプトを配置

1.ec2-userのホームディレクトリ /home/ec2-user 内にmysqldumpファイルを置くフォルダを作成

[ec2-user@ip-**-**-**-** ~]$ mkdir mysqldump

2.mysqldumpファイルを取得するシェルスクリプトを作成する

[ec2-user@ip-**-**-**-** ~]$ which sh
/bin/sh
[ec2-user@ip-**-**-**-** ~]$ cd mysqldump/
[ec2-user@ip-**-**-**-** mysqldump]$ touch mysql_dairy_buckup
[ec2-user@ip-**-**-**-** mysqldump]$ vi mysql_dairy_buckup
#!/bin/sh

period=7 #バックアップファイルを何日分残しておくか
dirpath='/home/ec2-user/mysqldump' #バックアップファイルを保存するディレクトリ
filename=`date +%Y%m%d` #ファイル名

mysqldump --opt --user='USERNAME' --password='PASSWORD' DATABASE名 > $dirpath/$filename.sql #mysqldump実行

chmod 700 $dirpath/$filename.sql #パーミッションの変更
oldfile=`date --date "$period days ago" +%Y%m%d` #古いバックアップファイルを削除(date関数で削除するファイルの日付を指定)
rm -f $dirpath/oldfile.sql

3.動作確認し、問題がなかれば、cron.dailyにシェルスクリプトを配置

[ec2-user@ip-**-**-**-** mysqldump]$ sh mysql_dairy_buckup
ちゃんとsqlファイルが作成されるか確認
[ec2-user@ip-**-**-**-** mysqldump]$ mv mysql_dairy_buckup mysql_dairy_buckup
[ec2-user@ip-**-**-**-** mysqldump]$ sudo mv mysql_dairy_buckup /etc/cron.daily/
[ec2-user@ip-**-**-**-** mysqldump]$ cd /etc/cron.daily/
[ec2-user@ip-**-**-**-** cron.daily]$ ll
-rw-rw-r-- 1 ec2-user ec2-user 574 Mar 15 14:48 mysql_dairy_buckup
[ec2-user@ip-**-**-**-** cron.daily]$ sudo chown root:root mysql_dairy_buckup
[ec2-user@ip-**-**-**-** cron.daily]$ sudo chmod 0755 mysql_dairy_buckup
[ec2-user@ip-**-**-**-** cron.daily]$ ll
-rwxr-xr-x 1 root root 574 Mar 15 14:48 mysql_dairy_buckup

参考にさせていただいたサイト

mysqldumpとcronでMySQLを自動バックアップする


Viewing all articles
Browse latest Browse all 3

Latest Images

Trending Articles



Latest Images