Привожу скрипт для бекапа с комментариями.
Для архивирования бекапов используется многопоточный архиватор pigz а так же Cygwin.
Для архивирования бекапов используется многопоточный архиватор pigz а так же Cygwin.
#!/bin/bash #Shared Variables backup_date=`date +'%y%m%d'` backup_dir="/cygdrive/c/Temp/test_svn_backup" backup_dir_unix=`cygpath -u "$backup_dir"` # Mysql Function fn_mysql() { mysql_root="root" mysql_password="root" echo "Starting export MySQL ..." # получаем список баз mySQL и бекапим все, кроме information mysql -u"$mysql_root" -p"$mysql_password" --protocol tcp -s -N -e "show databases;"| grep -v information | while read line;do echo Backing up mysql schema: $line mysqldump $line -u"$mysql_root" -p"$mysql_password" --protocol tcp | pigz -f -9 > $backup_dir_unix/mysql_"$line"_"$backup_date".tgz done } #End MySQL # Postrges Function fn_postgres() { # экспортируем в переменные окружения имя пользователя и пароль. export PGUSER=postgres export PGPASSWORD=postgres postgres_bin="/cygdrive/c/Program Files/PostgreSQL/8.3/bin" psql_tool="/cygdrive/c/Program Files/PostgreSQL/8.3/bin/psql.exe" cd "$postgres_bin" echo "Starting Postgres backup ..." # получаем список баз делаем Vacuum и бекапим все ./psql -l -t -q |awk {'print $1'}| sed '/^$/d' | while read line; do echo "Vacuuming DB: " $line .. ./vacuumdb.exe $name echo "Backing up DB: " $line .. ./pg_dump $line | pigz -f -9 > $backup_dir_unix/PSQL_"$line"_"$backup_date".tgz done } #End Postgres # SVN Function # ------------------------------- fn_svn() { svn_repo="/cygdrive/c/Program Files/BitNami Redmine Stack/subversion/repos" svnadmin_tool="/cygdrive/c/Program Files/BitNami Redmine Stack/subversion/bin/svnadmin.exe" cd "$svn_repo" # идем в репозитарии, т.к имя директории совпадает с именем репозитория пробегаемся по всем и бекапим ls | while read line; do echo Backing up Repository: $line "$svnadmin_tool" dump $line | pigz -f -9 > $backup_dir_unix/Repo_"$line"_"$backup_date".tgz done } #End SVN # MAIN BODY # Выбираем что будем бекапить fn_postgres fn_svn fn_mysql
Если статья была вам полезна - кликните на баннер или кнопку Donate :)
Комментариев нет:
Отправить комментарий