Kategóriák
Egyéb

Egyszerű backup script wordpresshez távoli kiszolgálóra ssh-n keresztül

Gyorsan összedobtam egy egyszerű kis mentő scriptet, amivel ssh-n keresztül szépen le lehet menteni a weboldalunkat. A távoli kiszolgálón mi a /backup/domain.hu mappába fogjuk a mentéseket tárolni, az adatbázisokat külön egy sql mappában. Ezt mindenki a kénye kedve szerint alakíthatja át, nekem ez bőven elég, hogy elkülönítsem a fájlokat. Kulcsos hitelesítést használunk, erről itt most nem nagyok akarok regélni, hogy hogy működik a dolog, erről bővebb információt egy korábbi blogposztomban találsz. A lentebbi parancsokat gyorsan átalakítva bárki csinálhat magának egy egyszerű mentő scriptet az oldala mentéséhez, ami szépen 7 naponta kipucolja a régebbi mentéseket. Az mtime növelésével viszont hosszabb ideig is megőrizhetőek a mentések. Pl. 14-re állítva a két hétnél régebben módosított fájlokat fogja csak kitörölni a script.

mkdir -p /root/bin/

echo '#!/bin/bash

# 7 napnál régebbi mentések törlése.
echo "7 napnál régebbi mentések törlése..."
ssh -i /root/.ssh/id_rsa [email protected] "find /backup/domain.hu/* -type f -mtime +7 -exec rm {} \;"

# Adatbázis mentése.
echo "Adatbázis mentése..."
mysqldump -u felhasznalonev -pjelszo adatbazis_neve | gzip | ssh -i /root/.ssh/id_rsa [email protected] "cat > /backup/domain.hu/sql/domain.hu-sql-`date +%Y-%m-%d`.sql.gz"

# Weboldal fájljainak mentése.
echo "Weboldal mentése..."
tar cz /var/www | ssh -i /root/.ssh/id_rsa [email protected] "cat > /backup/domain.hu/domain.hu-files-`date +%Y-%m-%d`.tgz"' > /root/bin/backup.sh

chmod +x /root/bin/backup.sh

Majd a /root/bin/backup.sh val indítható is a mentés.