mysql+ftp+shellスクリプトによるデータベースのバックアップの自動化

793 ワード

dbbac.sh
#!/bin/bash
#

db_user="teacher"
db_password="123456"

ftp_user="teacher"
ftp_password="123456"
ftp_host="192.168.199.230"

dest_dir="/root/mysql"
time_date="`date +%Y%m%d%H%M%S`"
file_name="student_score_$time_date.sql"

function auto_ftp

{

ftp -niv << EOF
open $ftp_host
user $ftp_user $ftp_password
lcd $dest_dir
put $file_name
bye

EOF

}

mysqldump -uteacher -p"$db_password" student score > $dest_dir/$file_name && auto_ftp

定時タスクに参加し、毎日1回のゼロポイントバックアップを行います.
crontab -e

0 0 * * * sh /root/mysql/dbbac.sh

定期的なバックアップが不要な場合は、手動でバックアップします.
put $file_name      put $1

         : sh dbbac.sh filename