Пример скрипта бэкапа всей БД со всеми пользователями:
1 |
nano bcp_bd_mysql_v03.sh |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
#!/bin/bash #Присваиваем текущую дату переменной date день.месяц.год.часы.минуты.секунды date=`date '+%Y%m%d_%H.%M.%S'` #Присваиваем переменную каталогу хранения бэкапов bcp_dir='/bcp/everyday_bd' #Присваиваем переменные db_user='db-test-user' db_password='db-test-password' ftp_user='ftp-test-user' ftp_password='ftp-test-password' ftp_host='ftp.test.ru' ftp_dir='everyday_bd/' #Создаем бэкап всей БД со всеми пользователями mysqldump -u $db_user -p$db_password --all-databases > $bcp_dir/bcp_bd_mysql_v01_$date.sql #Архивируем созданный бэкап tar -zcvpf $bcp_dir/bcp_bd_mysql_v01-$date.tar.gz $bcp_dir/bcp_bd_mysql_v01_$date.sql #Удаляем исходник бэкапа БД rm $bcp_dir/bcp_bd_mysql_v01_$date.sql #Чистим, удаляя файлы из папки $bcp_dir старше 10-ти дней /usr/bin/find $bcp_dir -type f -mtime +10 -exec rm -rf {} \; #Отправляем бэкап на FTP сервер /usr/bin/curl --upload-file "$bcp_dir/bcp_bd_mysql_v01-$date.tar.gz" ftp://$ftp_user:$ftp_password@$ftp_host/$ftp_dir |