MySQLのダンプをメールに添付送信するシェルスクリプト

MySQLのDBをダンプしたファイルを圧縮して自動で待避しておきたいと調べてみたら
DBをダンプしてZip圧縮→メールに添付して送信するシェルスクリプトのサンプルを発見。

どうせならダンプだけでなく別の所にデータを移しておきたい。
WordPress , Coppermine Photo Gallery , ZenCartとDBの数も増えてきたし。

そのままでも使えたけど別でも利用するときの為に設定を変数に書き換えてみた。
「DB名yyyyMMdd.sql.gz」というファイル名で添付ファイルが届くように設定。

SSHで接続してスクリプトが正常に動くことを確認。
これをCronジョブに登録して深夜実行するよう設定。

メールの送り先をGmailにしておいたので基本的に容量を気にしなくてもいい。
容量と相談しながら過去のダンプ添付メールを消して行けばいい。
これで少しメンテが楽になった。

※参考までにシェルスクリプトのサンプル

  1. #!/bin/sh
  2. #--------------------------------------------------
  3. # Setting Start
  4. #--------------------------------------------------
  5.  
  6. #Backup Date
  7. backupdate=`date +%Y%m%d`
  8.  
  9.  
  10. #DB Name
  11. dbname="hoge_db"
  12.  
  13. #User ID
  14. uid="user_id"
  15.  
  16. #PassWord
  17. pwd="hogehgehoge"
  18.  
  19. #Zip File Name
  20. filename=$dbname$backupdate'.sql.gz'
  21.  
  22. #Send To Mail Address
  23. to_mail="hoge@hoge.jp"
  24.  
  25.  
  26. #--------------------------------------------------
  27. # Setting End
  28. #--------------------------------------------------
  29.  
  30.  
  31. /usr/local/mysql/bin/mysqldump -h localhost -c -u $uid --password=$pwd $dbname | /usr/bin/gzip | /usr/bin/uuencode $filename | /usr/bin/mail -s $filename $to_mail
  32.  
  33. exit 0

MySQLのダンプをメールに添付送信するシェルスクリプト” への2件のコメント

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*