В тази статия ще ви покажа как можете да създадете пълно резервно копие на вашия WordPress сайт без използването на плъгин, само с помощта на инструменти от командния ред. За да постигнете това, трябва да имате SSH достъп до вашия WordPress сайт и основни познания за работа в командния ред. Статията ще бъде разделена на две части – архивиране на базата данни и архивиране на файлове. Така че нека започнем с първата.
Архивиране на базата данни
Първата стъпка е да създадете нова директория, където искате да съхранявате резервното си копие. Например, можем да създадем нова директория в нашата директория wp-content с име „backup“ със следната команда (но ако желаете, можете да създадете директорията за резервното копие, където пожелаете):
//1. First we make sure that we are in the wp-content directory
cd public_html/wp-content
//2. We create the new directory
mkdir backup
//3. Go to the new backup directory
cd backupCode language: plaintext (plaintext)
След като създадохме директорията, където искаме да запазим резервното копие, първата стъпка е да създадем резервно копие на нашата база данни и всъщност това е много лесно да се направи с команда wp cli, която е (научете повече за командата wp db):
wp db exportCode language: plaintext (plaintext)
Тази версия на командата ще генерира автоматично името на файла, което ще бъде името на базата данни с часа и датата на архивиране, което за мен е добре, но ако искате сами да наименувате файла, можете да го направите с тази версия на командата:
wp db export your_name.sqlCode language: plaintext (plaintext)
Ето нещо важно, което трябва да знаете: ако базата ви данни е голяма, е добра идея да компресирате генерираното резервно копие, използвайки командата gzip:
wp db export - | gzip > backup.sql.gzCode language: plaintext (plaintext)
Както виждате, създаването на резервно копие на базата данни за вашия WordPress сайт чрез командния ред е много лесно и бързо. Но може би се питате как може да се възстанови резервното копие на базата данни? Е, това също е много лесно, за да възстановим резервното копие на базата данни, първо трябва да изпразним (премахнем таблиците) текущата база данни с командата:
wp db reset --yesCode language: plaintext (plaintext)
След това втората стъпка е да импортираме генерираното от нас резервно копие със следната команда:
wp db import name_of_our_backup.sqlCode language: plaintext (plaintext)
Ако сте компресирали резервното копие на базата данни, първо трябва да го разкомпресирате и след това да го импортирате като комбинирате следните две команди:
gunzip < backup.sql.gz | wp db import -Code language: plaintext (plaintext)
Вече знаете как да архивирате и възстановите бързо базата си данни чрез командния ред без използването на плъгин. Сега нека видим как да направите бекъп на файловете на вашия сайт.
Създаване на бекъп на файлове
За съжаление wp cli няма команда за създаване на резервно копие на файловете на вашия сайт като командата за създаване на бекъп на базата данни, но това не е проблем, тъй като има много полезна стандартна cli команда, която можем да използваме, и това е командата tar.
Всъщност използването на тази команда ни дава много опции за това, което искаме да архивираме, защото може да искате да създадете резервно копие само на определена част от вашия сайт. Например, да кажем, че искате да архивирате само директорията с плъгини – можете да го направите по следния начин, като се има предвид, че все още сме в директорията, която създадохме за съхранение на резервното копие (вижте бонус съвета в тази статия за това как можете да видите пътя до определена директория):
tar -cf plugins.tar path_to_your_plugins_directoryCode language: plaintext (plaintext)
Трябва да знаете, че командата tar не компресира файловете и директориите, а само ги групира в един архивен файл, което означава, че генерираният tar файл може да стане доста голям, затова е по-добре да използвате тази версия на командата, която компресира самия ярхивен файл:
tar -czf plugins.tar.gz path_to_your_plugins_directoryCode language: plaintext (plaintext)
Сега когато искате да възстановите резервното копие от tar файл, първо трябва да отидете в директорията wp-content, защото в нашия пример искаме да възстановим резервното копие на директорията с плъгини и след това със следната команда да възстановите компресираното резервно копие (тук няма значение дали възстановявате стандартен tar файл или компресиран):
tar -xf path_to_your_backup_direcotry/plugins.tar.gzCode language: plaintext (plaintext)
Както виждате, създаването и възстановяването на резервни копия на файлове не е по-сложно от създаването и възстановяването на резервни копия на базата данни. В горния пример създадохме само резервно копие на директорията с плъгини, но този подход може да се използва, ако искате да архивирате и целия си сайт.
Бонус съвет
Ако искате да намерите пътя до определена директория, можете да използвате командата pwd (print working direcotry) – така че, ако искате да видите пълния път до вашата wp-content директория, отидете до нея, напишете командата pwd в терминала и ще видите пътя, той ще бъде нещо подобно на това:
/home/joro/domains/gbogdanov.com/public_html/wp-content/Code language: plaintext (plaintext)