DDoS Protection Powered by DDoS-GUARD

Бэкап MySQL базы данных с помощью PowerShell

Просмотров: 2346Комментарии: 0
Резервное копированиеАвтоматизация

Бэкап MySQL базы данных c помощью "PowerShell"

На всякий случай нужно сделать резервную копию моего сайта.

Вдруг я стану популярным, меня взломают, и нагадят и всё испортят.

В статье используются программы:

GreenShot v1.2.10.6 Программа для создания скриншотов оф. сайт
AkelPad v4.9.8 Текстовый редактор оф. сайт

Для резервного копирования будем использовать поставляемую в комплекте с "MySQL" программу для экспорта "mysqldump.exe"

Вроде ничего сложного, читаем документацию.

A dump made using PowerShell on Windows with output redirection creates a file that has UTF-16 encoding:

Созданный бэкап параршелом, зверски, перекодирует файл в кодировку UTF-16 :bug:

На помощь приходит ключ "--result-file" но проще использовать его аналог "-r" Так скрипт будет выглядеть более запутано

Линуксятники так любят делать -r -ty -ewr -y -e... птьфу :blank:

Короче, создаём файл "блаблабла.ps1" сохраняем его в кодировке UTF-8 (без BOM)

И пишем туда:

mysqldump -uUSER -pPASSWORD  BASE_NAME -r PATH_TO_FILE

Не забываем про запрет на запуск скриптов.

Как-то смотреться не солидно такой скрипт... нужно больше угара. Сделаем бэкапы каждый день, и будем удалять не актуальные бэкапы.

Вначале проверим, работает ли то, что уже сделано. Конечно работает :)

А у меня не работает :(

Значит в системных переменных не добавлен путь до папки куда установлен MySQL. Читай тут.

Cделаем вот такой скрипт:

# -------------------------
# Для резервного копирования mysql баз данных
# 
# © (:Pro:) 28.11.2017
# --------------------------
#
#сегодня
$today=get-date -format d
#неделю назад
$yesterday=(get-date (get-date).addDays(-6) -format d)
#имя базы данных (в кавычках)
$basename="imyabasy"
#символ разделения (в кавычках)
$symbol="_"
mysqldump -uUSERNAME -pPASSWORD $basename -r "D:\backup\MySQL\$basename$symbol$today.sql"
Remove-Item "D:\backup\MySQL\$basename$symbol$yesterday.sql" -Recurse -force

В результате мы получим файл вот с такими именем и расширением: "imyabasy_27.11.2017.sql"

Кавычки в путях нужны на случай если в пути будет пробел.

По началу скрипт будет ругаться, что не найден файл... старый файл бэкапа - который он пытается удалить, ну так его и нет :) он появиться через неделю.

Создаём в планировщике задание, которое будет запускаться от имени "СИСТЕМА"

2017-11-28-13_24_26-parametry-bezopasnosti.png

и в качестве действия выбираем запуск "powershell.exe" и в параметрах указываем путь к скрипту.

2017-11-28-13_24_14-izmenenie-dejstvija.png

Оставьте комментарий!

smile biggrin LOL rofl2 wink rolleyes2 acute aggressive bad blume1 blush bomb boredom bye clapping congratulate cool cray dance2 diablo drinks empathy flag_of_truce fool fool3 good good2 greeting help hi hmm i_am_so_happy mad mocking morning1 music nea new_russian nyam2 ok pardon playboy pleasantry sad scare scratch_one-s_head secret shok sorry stop timeout yahoo shyesok crazy dash1.gif dash2.gif gamer.gif hang1.gif ireful.gif mail1.gif mamba.gif sarcastic.gif wacko1.gif wacko2.gif wacko3.gif


Комментарий будет опубликован после проверки

     

  

(обязательно)