Automatizați Backupul dvs. WordPress cu Scripting Simplu Shell & CRON
Ultima data cand am vorbit despre backup-uri WordPress, ti-am aratat cat de incredibil de usor a fost sa faci backup al intregii baze de date si fisiere, desi SSH Cum sa copiezi pe site-ul tau prin intermediul liniei de comanda SSH Cum sa copiezi site-ul tau prin linia de comanda SSH să fie o sarcină scumpă și greoaie, necesitând o varietate de pluginuri sau planuri suplimentare de la furnizorul dvs. de găzduire - dar nu trebuie să fie într-adevăr. Dacă aveți SSH ... Citiți mai multe cu doar câteva comenzi. De data aceasta, voi arăta cum să automatizeze aceste comenzi, oferindu-vă în fiecare săptămână backup-uri proaspete ale întregului dvs. site, cu foarte puține eforturi. Acest lucru va servi, de asemenea, ca o introducere excelentă atât în scripting shell, cât și în CRON, dacă nu i-ați atins niciodată înainte - cheia pentru a învăța astfel de subiecte uriașe este să începeți imediat prin utilizarea acestora pentru a vă face ceva util.
Recap: Arata totul
Ne-am referit ultima oară, dar o recapitulare rapidă a celor două comenzi necesare pentru a salva baza de date și fișiere, presupunând că v-ați conectat deja și că vă mutați în directorul site-ului (citiți primul tutorial dacă nu înțelegeți). Asigurați-vă că le faceți în această ordine, astfel încât fișierele de backup să includă fișierul de bază de date pe care îl transmiteți în prima comandă:
mysqldump --add-drop-table -u username -p baze de date> databasebackup.sql tar -cf backupfile.tar .
Inlocuieste nume de utilizator și numele bazei de date articole cu baza de date și detalii despre numele de utilizator.
Automatizarea Pasul unu: scripting
Pentru moment, vom face un nou script care rulează comenzile pe care le-ați învățat pentru backup, cu câteva modificări pentru a include și parola (deoarece aceasta va fi automatizată, nu veți mai putea introduce parola de fiecare dată ). Când terminăm, ar trebui să rămâi cu o singură comandă pentru a rula, care va executa două comenzi pentru tine!
De asemenea, este timpul să învățați cum să editați fișiere text și prin linia de comandă, deoarece nu vă puteți baza mereu pe FTP și GUI. Aveți posibilitatea să utilizați un simplu editor bazat pe text numit vi pentru a face acest lucru.
Pentru a porni aplicația și pentru a crea primul script, tastați:
vi mybackupscript.sh
Dacă fișierul nu există deja, acesta va fi creat și veți fi afișat un ecran destul de descurajant similar cu acesta:
vi are două moduri - modul de editare și comandă. Pentru a intra în modul editare, apăsați i. Apoi puteți începe să tastați. Veți ști că a funcționat, pentru că partea din stânga jos se va întoarce la -INSERT-
Începeți prin tastarea următoarelor:
#! / bin / sh mysqldump - adăugați-drop-table -unume de utilizator -pparola nume_tabel > dbbackup.sql tar-cf backup.tar .
Observați că de data aceasta includem parola în comandă. Rețineți, de asemenea, că atunci când folosim comutatorul -p pentru a specifica parola, atunci parcurgem imediat parola fără spațiu între ele. Dacă preferați, puteți scrie comanda ca aceasta, dar funcțional nu există nici o diferență:
#! / bin / sh mysqldump - adăugați-drop-table --user =nume de utilizator --parola =parola nume_tabel > dbbackup.sql tar-cf backup.tar .
Acum trebuie să o salvăm. Apăsați ESC o dată pentru a ieși din modul de editare și în modul de comandă al editorului de text. Tip:
:scrie
și apăsați enter, apoi
:părăsi
și intrați din nou.
Deci, până acum veți fi dat seama că orice comenzi pe care le dați trebuie să fie precedate de un colon. Asta e tot cu vi pentru moment.
Înapoi în linia de comandă, continuați și creați executabil noul script introducând următoarele:
chmod 744 mybackupscript.sh
În cele din urmă, testați-l cu:
./mybackupscript.sh
Evident, în funcție de dimensiunea site-ului dvs. și de viteza serverului dvs., poate dura ceva timp. La sfârșitul acesteia, puteți să listați fișierele și să găsiți un backup.tar. Pe serverul meu privat virtual a durat aproximativ 5 secunde pentru a crea copia de rezervă de 100MB WordPress.
Automatizarea Pasul doi: CRON
CRON este un programator de sarcini pentru Linux. Nu o vom acoperi în profunzime aici, dar vă voi da ceea ce aveți nevoie pentru a rula scenariul dvs. de rezervă în fiecare săptămână. De asemenea, ne-am referit la modul de rulare a lucrărilor CRON din panoul de control al site-ului web GUI. Pentru a adăuga o sarcină la planificatorul CRON, pur și simplu adăugați o linie la “crontab”. Editați acest lucru tastând:
crontab -e
Acest lucru va deschide fișierul CRON în editorul dvs. de text, cel mai probabil vi din nou. Dacă nu ați adăugat niciodată nimic înainte, este posibil să fie și necompletat. Fără griji. Adăugați următoarele linii:
00 4 * * 0 /httpdocs/mybackupscript.sh
Formatul pe care o urmează această comandă este puțin dificil, dar merge în felul următor:
minute oră de zi-de-lună luna-a-săptămânii
A * din modelul ignoră acel element. Astfel, în exemplul de mai sus, vom rula scriptul de backup la 00 minute 4 ore, la fiecare 0 (duminică) a săptămânii.
Iată câteva exemple care vă vor ajuta să înțelegeți:
01 * * * * echo "Această comandă este rulată la un minut peste fiecare oră" 17 8 * * * echo "Această comandă este executată zilnic la 8:17" 17 20 * * * echo " : 17 pm "00 4 * * 0 echo" Această comandă este rulată la 4 dimineața în fiecare duminică "* 4 * * Sun ecou" Așa este "42 4 1 * * echo" Această comandă este rulat la 4:42 am la fiecare 1 luna "01 * 19 07 * echo" Această comandă se execută orar pe data de 19 iulie "
Odată ce ați introdus acest lucru, salvați fișierul apăsând ESC, apoi tastați: write followed by: quit. O versiune rapidă a acestui lucru este doar să tastați: wq, care va scrie atât fișierul, cât și quit. E la îndemână, dar dacă ești ca mine, uiți aceste scurte comenzi rapide.
Asta e! Veți avea o copie actualizată a bazei dvs. de date și a întregului site în rădăcină, numită backup.tar (sau orice ați alege să-l numiți). S-ar putea să doriți să învățați un script mai mic pentru a adăuga data la sfârșitul numelui fișierului și pentru a evita suprascrierea aceluiași la fiecare dată, dar aceasta depinde de dvs. pentru a descoperi. Sper că puteți vedea cât de puternic este linia de comandă acum!
Explorați mai multe despre: Automatizarea computerelor, Backup de date, Programare, Wordpress.