# dir parameters cur_date="$(date +"%Y%m%d")" backup_history_file="${db_backup_dir}backup_history.log" today_backup_dir="${db_backup_dir}${cur_date}" if [ ! -d "$today_backup_dir" ];then $mkdir -p "$today_backup_dir" fi if [ ! -e "$backup_history_file" ];then $touch"$backup_history_file" fi
# other parameters backup_keep_days=2 start_time="$(date +"%Y-%m-%d %H:%M:%S")"
# mysql command mysql="$(which mysql)" if [ $? -eq 0 ]; then echo""Mysql command: "$mysql" else echo"Not found mysql, exit." exit 1 fi mysqldump="$(which mysqldump)" if [ $? -eq 0 ]; then echo""Mysqldump command: "$mysqldump" else echo"Not found mysqldump, exit." exit 1 fi
if [ -z "$db_names" ] then db_names=$(mysql -h$db_host -P$db_port -u$db_user -p$db_passwd -e 'show databases'| grep -vE 'Database|information_schema|mysql|performance_schema') fi
for db in${db_names[*]}; do echo""=============: "$db" $mysqldump -h$db_host -P$db_port -u$db_user -p$db_passwd$db > "${today_backup_dir}/${db}.sql" done
# delete +3 db backup dir $find$db_backup_dir -type d -mtime +$backup_keep_days -exec$rm -rf {} \;
# record history end_time="$(date +"%Y-%m-%d %H:%M:%S")" start_seconds=$(date --date="$start_time" +%s); end_seconds=$(date --date="$end_time" +%s); echo"${cur_date}: "$((end_seconds-start_seconds)) >> "$backup_history_file"
echo"${cur_date}本次运行时间: "$((end_seconds-start_seconds))"s" echo"---------------Author: mingliang.gao---------------" echo"-------------------DB end backup-------------------" echo"***************************************************" exit 0