Написать скрипт для бекапа БД, обезличивания и заливки его на ФТП
4 000 руб. за проект
Видео-описание задачи: https://yadi.sk/i/UrN4Ohkwf4ffeQ
Сделать скрипт (bat или powershell), который будет делать следующие действия:
"C:\Program Files\Microsoft SQL Server\110\Tools\Binn\SQLCMD.EXE" -S (local)\SQLExpress -Q "BACKUP DATABASE db_name TODISK ='c:\BackupPrevVer\db_name .bak' WITH NOFORMAT, INIT,NAME = N'ElisMLM Last Backup', SKIP, NOREWIND, NOUNLOAD,STATS = 10;"
echo Done.
Параметры, которые задаются переменными в начале скрипта:
Второй скрипт (bat или powershell), который будет делать следующие действия:
Параметры, которые задаются переменными в начале скрипта:
Сделать скрипт (bat или powershell), который будет делать следующие действия:
- Инициализирует настройки из текстовика настроек, который лежит в той же папке, что и наш скрипт.
- Подключится к MS SQL Server 2014 и выше с авторизацией по логину паролю (не windows-авторизация) и забекапит БД (имя БД из параметра). Бекапить надо только базу, файл транзакций не нужно, чтобы получить как можно меньший размер файла.
Пример, как это работает, когда подключение идёт к SQL с windows-авторизацией:
"C:\Program Files\Microsoft SQL Server\110\Tools\Binn\SQLCMD.EXE" -S (local)\SQLExpress -Q "BACKUP DATABASE db_name TODISK ='c:\BackupPrevVer\db_name .bak' WITH NOFORMAT, INIT,NAME = N'ElisMLM Last Backup', SKIP, NOREWIND, NOUNLOAD,STATS = 10;"
echo Done.
- Применит к этой БД процедуру обезличивания.
Что именно обезличить, описано вот здесь: https://share.clickup.com/t/h/bjv61j/P3196MRT5M63CDH
Предполагается, что очевидно, в каких таблицах БД лежат эти данные, а там, где неочевидно, указана название таблицы. Если где то будет непонятно - явно укажем, в какой таблице и столбце надо затирать.
Также рассчитываю, что вы подскажете, как организовать выгрузку структуры БД без данных из ms sql сервера, чтобы вам отправить для разворачивания у себя и экспериментов. - Заархивирует бекап с помощью 7Z или винрара максимальным сжатием
- Зальёт БД на ФТПШник по указанному пути (желательно через WinSCP - он уже есть на всех серверах)
- Удалит зархивированный бекап.
- Если что-то пошло не так-то в папке, в которой лежит наш скрипт, должен появиться error-лог с указанием, на каком шаге упало и почему. В случае успешного завершения скрипта, лог писать не надо.
Параметры, которые задаются переменными в начале скрипта:
- Имя файла настроек
- Имя бд на SQL (лежит в отдельном файле настроек)
- Папка, куда положить бекап БД с sql (лежит в отдельном файле настроек)
- Логин и пароль на SQL сервер (лежит в отдельном файле настроек)
- Логин и пароль на ФТП сервер (лежит в отдельном файле настроек)
- Путь на ФТП, куда заливать бекап (лежит в отдельном файле настроек)
Второй скрипт (bat или powershell), который будет делать следующие действия:
- Инициализирует настройки из текстовика настроек, который лежит в той же папке, что и наш скрипт.
- Зайдёт на ФТПШник по указанному пути (желательно через WinSCP - он уже есть на всех серверах). Найдёт там самый свежий бекап, по дате создания файла.
- Скачает бекап в папку из настроек и разархивирует его в ту же папку.
- Подключится к MS SQL Server 2014 и выше с авторизацией по логину паролю (не windows-авторизация) и развернёт бекап в указанное имя БД. При разворачивании надо, чтобы установлены параметры:
https://yadi.sk/i/Za2PzWGH79hNGA - Удалит скачанный и разархивированный бекапы
- Если что-то пошло не так-то в папке, в которой лежит наш скрипт, должен появиться error-лог с указанием, на каком шаге упало и почему. В случае успешного завершения скрипта, лог писать не надо.
Параметры, которые задаются переменными в начале скрипта:
- Имя файла настроек
- Логин и пароль на ФТП сервер (лежит в отдельном файле настроек)
- Путь на ФТП, откуда сливать бекап (лежит в отдельном файле настроек)
- Папка, куда положить бекап (лежит в отдельном файле настроек)
- Имя бд на SQL, куда восстанавливать (лежит в отдельном файле настроек)
- Логин и пароль на SQL сервер (лежит в отдельном файле настроек)
В заказе есть исполнитель
При переводе заказа из архивного в актуальный, текущий исполнитель будет снят с задачи.
Выберите тип сделки
С безопасной сделкой вы всегда сможете вернуть средства, если что-то пойдет не так. С простой сделкой вы самостоятельно договариваетесь с исполнителем об оплате и берете на себя решение конфликтов.