реклама

архивиране на WordPress сайтПоследният път, когато говорихме за архивиране на WordPress, ви показах колко невероятно е лесно да архивирате целия си база данни и файлове, въпреки SSH Как да архивирате уебсайта си чрез SSH команден редСъздаването на резервно копие на вашия уебсайт или блог може да бъде скъпа и трудна задача, изискваща различни плъгини или допълнителни планове от вашия хостинг доставчик - но всъщност не трябва да бъде. Ако имате SSH ... Прочетете още само с няколко команди. Този път ще покажа как да автоматизирам тези команди, като ви предоставя свежи архиви на целия си сайт всяка седмица, с много малко усилия. Това ще послужи като чудесно въведение както за скриптовите скриптове, така и за CRON, ако никога не сте ги докосвали преди - ключът към изучаването на такива огромни теми е да започнете направо, като ги използвате, за да направите нещо полезно Вие.

Резюме: Архивирайте всичко

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

instagram viewer

mysqldump --add-drop-table -u потребителско име -p име на база данни> databasebackup.sql. tar -cf backupfile.tar.

Сменете потребителско име и databasename елементи с вашата база данни и данни за потребителско име.

Автоматизация Стъпка първа: Сценарий

Засега ще направим нов скрипт, който просто изпълнява командите, които сте научили за архивиране, с няколко промени, за да включите и паролата (тъй като това ще бъде автоматизирано, няма да можете да въведете паролата всеки път). Когато приключим, трябва да останете само една команда, която да изпълни две команди за вас!

Време е и да научите как да редактирате текстови файлове през командния ред, тъй като не можете да разчитате на FTP и GUI през цялото време. Можете да използвате обикновен текстови редактор, наречен vi, за да направите това.

За да стартирате приложението и да създадете първия си скрипт, въведете:

vi mybackupscript.sh

Ако файлът вече не съществува, той ще бъде създаден и ще ви се покаже доста поразителен екран, подобен на този:

архивиране на WordPress сайт

vi има два режима - редактиране и команден режим. За да влезете в режим на редактиране, натиснете i. След това можете да започнете да пишете. Ще знаете, че работи, защото в долната лява част ще се обърне към –INSERT–

архивиране на WordPress сайт

Започнете с въвеждане на следното:

#! / Хамбар / од. mysqldump --add-drop-table -uпотребителско име -pпаролаtablename > dbbackup.sql. tar -cf backup.tar.

Забележете, че този път ние включваме паролата в командата. Също така забележете, че когато използваме превключвателя -p за уточняване на паролата, след това поставяме паролата веднага след нея, без интервал между тях. Ако предпочитате, вместо това можете да напишете командата като тази, но функционално няма разлика:

#! / Хамбар / од. mysqldump --add-drop-table --user =потребителско име --password =паролаtablename > dbbackup.sql. tar -cf backup.tar.

Сега трябва да го спасим. Натиснете ESC веднъж, за да излезете от режим на редактиране и в команден режим на текстовия редактор. Тип:

: запис

и натиснете Enter, след това

: откажат

и въведете отново.

Така че досега ще разберете, че всички команди, които давате, трябва да бъдат предшествани от двоеточие. За сега всичко е с vi.

Върнете се в командния ред, продължете напред и направете своя нов скрипт изпълним, като въведете следното:

chmod 744 mybackupscript.sh

И накрая, тествайте го с:

./mybackupscript.sh

Очевидно, в зависимост от размера на вашия сайт и скоростта на вашия сървър, може да отнеме известно време. В края на него можете да изброите файловете и трябва да намерите backup.tar. На моя виртуален частен сървър бяха необходими около 5 секунди, за да създам резервно копие на 100MB WordPress сайта.

Автоматизация Стъпка втора: CRON

CRON е планировчик на задачи за Linux. Тук няма да го покриваме задълбочено, но ще ви дам всичко, от което се нуждаете, за да стартирате резервния си скрипт всяка седмица. Разкрихме също как да стартирате CRON задачи от вашия контролен панел, базиран на GUI. За да добавите задача към CRON планировника, просто добавяте ред към „crontab“. Редактирайте това, като въведете:

кронтаб -е

Това ще отвори файла CRON във вашия текстов редактор, най-вероятно vi отново. Ако никога не сте добавяли нищо досега, вероятно също ще бъде празно. Няма проблем. Добавете тези редове:

00 4 * * 0 /httpdocs/mybackupscript.sh

Форматът, който следва тази команда, е малко труден, но върви така:

минутен час ден от месец на месец Ден от седмицата

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

Ето някои други примери, които ще ви помогнат да разберете:

01 * * * * ехо "Тази команда се изпълнява в минута минут на всеки час" 17 8 * * * ехо "Тази команда се изпълнява всеки ден в 8:17 ч." 17 20 * * * ехо "Тази команда се изпълнява всеки ден в 20:17" 00 4 * * 0 ехо „Тази команда се изпълнява в 4 ч. Всяка неделя“ * 4 * * Sun echo "Така е и това" 42 4 1 * * ехо „Тази команда се изпълнява 4:42 ч. На всеки 1-ви в месеца“ 01 * 19 07 * ехо „Тази команда се изпълнява почасово на 19 юли“

След като въведете това, запишете файла, като натиснете ESC, след което въведете: write, последвано от: quit. Версията на пряк път за това е просто да напишете: wq, който едновременно ще напише файла и ще се откаже. Удобно е, но ако сте нещо като мен, забравяте тези малки преки пътища.

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

Джеймс има бакалавърска степен по изкуствен интелект и е сертифициран като CompTIA A + и Network +. Той е водещ разработчик на MakeUseOf и прекарва свободното си време, играейки VR пейнтбол и настолни игри. Той изгражда компютри още от дете.