Automatisera din WordPress Backup med enkel Shell Scripting & CRON
Förra gången vi pratade om WordPress-säkerhetskopior visade jag dig hur otroligt enkelt det var att säkerhetskopiera hela din databas och filer, men SSH Hur man säkerhetskopierar din webbplats via SSH-kommandoraden Hur man säkerhetskopierar din webbplats via SSH-kommandoraden Säkerhetskopiera din webbplats eller blogg kan vara en dyr och svår uppgift, som kräver en mängd olika plugins eller ytterligare planer från din värdleverantör - men det behöver inte vara riktigt. Om du har SSH ... Läs mer med bara några kommandon. Den här gången ska jag visa hur du automatiserar de här kommandona, vilket ger dig färska säkerhetskopior av hela din webbplats varje vecka, med mycket liten ansträngning. Detta kommer också att fungera som en bra introduktion till både skalskript och CRON om du aldrig har berört dem tidigare - nyckeln till att lära dig sådana stora ämnen är att börja rakt ut genom att använda dem för att göra något användbart för dig.
Hämta: Säkerhetskopiera allt
Vi täckte den här gången, men en snabb uppsättning på de två kommandon som behövs för att säkerhetskopiera din databas och filer, förutsatt att du redan har loggat in och flyttat dig till webbplatskatalogen (läs den första handledningen om du inte förstår). Se till att du gör dem i den här ordningen, så att din filbackup innehåller databasfilen du producerar i det första kommandot:
mysqldump --add-drop-table -u användarnamn -p databasenamn> databasebackup.sql tar -cf backupfile.tar .
Ersätt Användarnamn och Databas namn objekt med din databas och användarnamn detaljer.
Automatisering Steg ett: Scripting
För tillfället kommer vi att skapa ett nytt skript som helt enkelt kör de kommandon som du lärt dig för säkerhetskopiering, med några ändringar att inkludera lösenordet för (eftersom det här kommer att bli automatiserat kommer du inte att kunna skriva in lösenordet varje gång ). När vi är färdiga borde du vara kvar med bara ett kommando att köra som kommer att utföra två kommandon för dig!
Det är också dags att lära dig att redigera textfiler genom kommandoraden, eftersom du inte kan förlita dig på FTP och GUI hela tiden. Du kan använda en enkel textbaserad redaktör som heter vi för att göra detta.
För att starta appen och skapa ditt första skript, skriv:
vi mybackupscript.sh
Om filen inte finns redan kommer den att skapas och du kommer att visas en ganska skrämmande skärm som liknar detta:
vi har två lägen - redigera och kommandot läge. För att komma till redigeringsläget, tryck på i. Då kan du börja skriva. Du vet att det fungerade, eftersom den nedre vänstra kommer att vända sig till -INSERT-
Börja med att skriva ut följande:
#! / bin / sh mysqldump --add-drop-table -uAnvändarnamn -pLösenord tabellnamn > dbbackup.sql tar -cf backup.tar .
Observera att den här gången, vi inkluderar lösenordet i kommandot. Observera också att när vi använder -p-omkopplaren för att ange lösenordet, lägger vi lösenordet omedelbart efter det utan mellanrum mellan dem. Om du föredrar kan du skriva kommandot så här istället men funktionellt är det ingen skillnad:
#! / bin / sh mysqldump --add-drop-table --user =Användarnamn --password =Lösenord tabellnamn > dbbackup.sql tar -cf backup.tar .
Nu måste vi spara det. Tryck ESC en gång för att komma ur redigeringsläget och i kommandotillståndet för textredigeraren. Typ:
:skriva
och tryck sedan på enter, då
:sluta med
och skriv in igen.
Så nu har du kommit fram till att några kommandon du ger måste föregås av ett kolon. Det är allt med vi för nu.
Tillbaka på kommandoraden, fortsätt och gör ditt nya skript körbart genom att skriva in följande:
chmod 744 mybackupscript.sh
Och slutligen testa det med:
./mybackupscript.sh
Självklart kan det ta en stund beroende på storleken på din webbplats och hastighet på din server. I slutet av det kan du lista filerna och hitta en backup.tar. På min virtuella privata server tog det cirka 5 sekunder att skapa 100MB WordPress-webbplatsens säkerhetskopiering.
Automation Steg två: CRON
CRON är en uppgiftsschemaläggare för Linux. Vi kommer inte att täcka det djupt här, men jag ger dig vad du behöver för att köra ditt backup-skript varje vecka. Vi har också täckt hur du kör CRON-jobb från din GUI-baserade webbplatsens kontrollpanel. För att lägga till en uppgift i CRON scheduler, lägger du helt enkelt till en rad till “crontab”. Redigera detta genom att skriva:
crontab -e
Detta öppnar CRON-filen i din textredigerare, troligen vi igen. Om du aldrig har lagt till något tidigare, är det troligt att det är tomt. Inga problem. Lägg till följande rader:
00 4 * * 0 /httpdocs/mybackupscript.sh
Det format som den här kommandot följer är lite svårt, men går så här:
minut timmars dag-i-månad månad dag-i-veckan
A * i mönstret ignorerar det objektet. Så i exemplet ovan kommer vi att köra vårt backup-skript på 00 minuter 4 timmar, varje 0 (söndag) i veckan.
Här är några andra exempel som hjälper dig att förstå:
01 * * * * echo "Detta kommando körs vid en minut förbi varje timme" 17 8 * * * echo "Detta kommando körs dagligen klockan 8:17" 17 20 * * * echo "Detta kommando körs dagligen på 8 : 17:00 "00 4 * * 0 echo" Detta kommando körs klockan 4 på varje söndag "* 4 * * Sun echo" Så är det här "42 4 1 * * echo" Detta kommando körs 4:42 am var 1: a månaden "01 * 19 07 * echo" Detta kommando körs varje timme den 19 juli "
När du har skrivit in, spara filen genom att trycka på ESC och skriv sedan: skriv följt av: avsluta. En genvägsversion av detta är att bara skriva: wq, som både kommer att skriva filen och avsluta. Det är praktiskt, men om du är något som jag, glömmer du dessa små genvägar.
Det är allt! Nu får du en uppdaterad kopia av din databas och hela webbplatsen i roten, kallad backup.tar (eller vad du än väljer att namnge den). Du kanske vill lära dig lite mer skript för att lägga till datumet i slutet av filnamnet och undvika att skriva över samma sak varje gång, men det är upp till dig att upptäcka. Jag hoppas att du kan se hur kraftfull kommandoraden faktiskt är nu!
Utforska mer om: Datorautomation, Data Backup, Programmering, Wordpress.