#!/usr/bin/env bash _source_host=d-alt.mx.oopen.de _databases="phpmyadmin red_stuff_be" _sync_dirs="/var/www/mysql-www2.oopen.de /var/www/red-stuff-be.oopen.de" #_sync_dirs="/data/sympa /usr/local/sympa" remote_mysqldump_binary=/usr/local/mysql/bin/mysqldump # ------------- # --- Some functions # ------------- echononl(){ echo X\\c > /tmp/shprompt$$ if [ `wc -c /tmp/shprompt$$ | awk '{print $1}'` -eq 1 ]; then echo -e -n "$*\\c" 1>&2 else echo -e -n "$*" 1>&2 fi rm /tmp/shprompt$$ } error(){ echo "" echo -e "\t[ \033[31m\033[1mFehler\033[m ]: $*" echo "" } warn (){ echo "" echo -e "\t[ \033[33m\033[1mWarning\033[m ]: $*" echo "" } info (){ echo "" echo -e "\t[ \033[32m\033[1mInfo\033[m ]: $*" echo "" } echo_done() { echo -e "\033[80G[ \033[32mdone\033[m ]" } echo_ok() { echo -e "\033[80G[ \033[32mok\033[m ]" } echo_warning() { echo -e "\033[80G[ \033[33m\033[1mwarn\033[m ]" } echo_failed(){ echo -e "\033[80G[ \033[1;31mfailed\033[m ]" } echo_skipped() { echo -e "\033[80G[ \033[33m\033[1mskipped\033[m ]" } echo "" echononl " Shutting down sympa.." systemctl stop sympa if [[ "$?" = "0" ]]; then echo_ok else echo_failed fi echo "" for _dir in $_sync_dirs ; do echononl " Syncing ${_dir}.." rsync -a -e ssh --delete ${_source_host}:$_dir `dirname ${_dir}` > /dev/null 2>&1 if [[ "$?" = "0" ]]; then echo_ok else echo_failed fi done echo "" for _db in $_databases ; do echononl " Update Database $_db from ${_source_host}.." ssh ${_source_host} "$remote_mysqldump_binary --login-path=local --opt $_db" | mysql --login-path=local $_db if [[ "$?" = "0" ]]; then echo_ok else echo_failed fi done echo "" echo "" exit 0