Автоматизируйте резервное копирование сайта WordPress с помощью SSH и CRON

резервное копирование сайта WordPressВ прошлый раз, когда мы говорили о резервном копировании WordPress, я показал вам, как невероятно легко создавать резервные копии всей базы данных и файлов через SSH

только с несколькими командами. На этот раз я собираюсь показать, как автоматизировать эти команды, предоставляя вам новые резервные копии всего вашего сайта каждую неделю без особых усилий. Это также послужит отличным введением как в сценарии оболочки, так и в CRON, если вы никогда не касались их раньше — ключ к изучению таких обширных тем — сразу начать с их использования, чтобы сделать что-то полезное для вас.

Резюме: резервное копирование всего

Мы рассмотрели этот вопрос в последний раз, но кратко рассмотрим две команды, необходимые для резервного копирования базы данных и файлов, при условии, что вы уже вошли в систему и переместились в каталог веб-сайта (прочитайте первое руководство, если вы не понимаете). Убедитесь, что вы делаете их в таком порядке, чтобы резервная копия файла включала файл базы данных, который вы выводите в первой команде:

mysqldump --add-drop-таблица -u имя пользователя -p имя_базы_данных> databasebackup.sql
tar -cf backupfile.tar.

[/ NOEDIT]

Замените элементы username и databasename вашей базой данных и именем пользователя.

Шаг автоматизации: сценарии

На данный момент мы собираемся создать новый сценарий, который просто запускает команды, которые вы изучили для резервного копирования, с некоторыми изменениями, включая и пароль (так как это будет автоматизировано, вы не сможете вводить пароль каждый раз). ). Когда мы закончим, вам останется всего одна команда, которая будет выполнять две команды для вас!

Также пришло время научиться редактировать текстовые файлы через командную строку, поскольку вы не можете полагаться на FTP и GUI все время. Для этого вы можете использовать простой текстовый редактор vi.

Чтобы запустить приложение и создать свой первый скрипт, введите:

vi mybackupscript.sh

[/ NOEDIT]

Если файл еще не существует, он будет создан, и вам будет показан довольно пугающий экран, подобный следующему:

резервное копирование сайта WordPress

В vi есть два режима — режим редактирования и командный режим. Чтобы войти в режим редактирования, нажмите i. Тогда вы можете начать печатать. Вы будете знать, что это сработало, потому что нижний левый угол превратится в –INSERT–

резервное копирование сайта WordPress

Начните с ввода следующего:

#! / Bin / ш
mysqldump --add-drop-table -uusername -ppassword tablename> dbbackup.sql
tar -cf backup.tar.

[/ NOEDIT]

Обратите внимание, что на этот раз мы включаем пароль в команду. Также обратите внимание, что когда мы используем ключ -p для указания пароля, мы сразу же ставим пароль после него без пробелов между ними. Если вы предпочитаете, вы можете вместо этого написать команду, но функционально нет никакой разницы:

#! / Bin / ш
mysqldump --add-drop-table --user = имя пользователя --password = имя таблицы паролей> dbbackup.sql
tar -cf backup.tar.

[/ NOEDIT]

Теперь нам нужно сохранить его. Нажмите ESC один раз, чтобы выйти из режима редактирования и в командный режим текстового редактора. Тип:

:записывать

[/ NOEDIT]

и нажмите ввод, затем

:уволиться

[/ NOEDIT]

и войдите снова.

Таким образом, к настоящему моменту вы уже поняли, что любой команде, которую вы даете, должен предшествовать двоеточие. Это все с vi на данный момент.

Вернувшись в командную строку, сделайте ваш новый скрипт исполняемым, введя следующее:

chmod 744 mybackupscript.sh

[/ NOEDIT]

И, наконец, проверьте это с помощью:

./mybackupscript.sh

[/ NOEDIT]

Очевидно, что в зависимости от размера вашего сайта и скорости вашего сервера, это может занять некоторое время. В конце вы можете перечислить файлы и найти файл backup.tar. На моем виртуальном частном сервере создание резервной копии сайта WordPress размером 100 МБ заняло около 5 секунд.

Шаг автоматизации: CRON

CRON — это планировщик задач для Linux. Мы не будем подробно останавливаться на этом здесь, но я дам вам то, что вам нужно для запуска скрипта резервного копирования каждую неделю. Мы также рассмотрели, как запускать задания CRON из панели управления вашего веб-сайта с графическим интерфейсом. Чтобы добавить задачу в планировщик CRON, вы просто добавляете строку в «crontab». Отредактируйте это, набрав:

crontab -e

Это откроет файл CRON в вашем текстовом редакторе, скорее всего, снова vi. Если вы никогда ничего не добавляли раньше, это также может быть пустым. Не волнуйтесь. Добавьте эти строки:

00 4 * * 0 /httpdocs/mybackupscript.sh

[/ NOEDIT]

Формат, которому следует эта команда, немного сложен, но выглядит так:

минутный час день месяца месяц день недели

A * в шаблоне игнорирует этот элемент. Таким образом, в приведенном выше примере мы будем запускать наш скрипт резервного копирования в 00 минут 4 часа, каждый 0 (воскресенье) недели.

Вот еще несколько примеров, которые помогут вам понять:

01 * * * * echo "Эта команда выполняется каждую минуту после каждого часа"
17 8 * * * echo "Эта команда запускается ежедневно в 8:17 утра"
17 20 * * * echo "Эта команда запускается ежедневно в 20:17"
00 4 * * 0 echo "Эта команда выполняется в 4 часа утра каждое воскресенье"
* 4 * * Солнечное эхо "Так ли это"
42 4 1 * * echo "Эта команда выполняется 4:42 утра 1-го числа месяца"
01 * 19 07 * echo "Эта команда запускается ежечасно 19 июля"

[/ NOEDIT]

После того, как вы ввели это, сохраните файл, нажав ESC, затем напечатайте: write, а затем: quit. Укороченная версия этого просто набрать: wq, который запишет файл и выйдет. Это удобно, но если вы чем-то похожи на меня, вы забудете эти маленькие ярлыки.

Это оно! Теперь у вас будет обновленная копия базы данных и всего сайта в корне, которая называется backup.tar (или как вы ее называете). Возможно, вы захотите изучить немного больше сценариев, чтобы добавить дату в конец имени файла и избегать перезаписи одной и той же каждый раз, но это вам решать. Надеюсь, вы увидите, насколько мощна командная строка на самом деле сейчас!

Ссылка на основную публикацию
Adblock
detector