Nem is olyan régen írtunk egy cikket a népszerű ingyenes felhőalapú tárolási szolgáltatásoknak a szerverhez történő csatlakoztatásáról a CentOS 7 segítségével. Ebben a cikkben megmutatjuk, hogyan használhatja a tárolási adatokat a szerveren lévő adatok biztonsági mentésére. Ezeket a szkripteket a webhely- és adatbázisfájlok további biztonsági mentéséhez használom a Linux VPS szerverről.
Tartalom:
- Biztonsági mentési adatok a OneDrive-on a Linux CentOS-ból
- Biztonsági mentés a Google Drive-ba.
- Biztonsági mentési parancsfájl a Yandex.Diskon Linuxról
Biztonsági mentési adatok a OneDrive-on a Linux CentOS-ból
Biztonsági másolatot készítünk a webhelyről és az adatbázisról, valamint ellenőrizzük a biztonsági mentés "életkorát" (egy héttel ezelőtt töröljük a biztonsági mentéseket), és elküldjük a teljes szkript-végrehajtási információt tartalmazó jelentést az e-mailbe. Valójában maga a bash szkript:
#! / bin / bash
# Helyi fájlok másolása ideiglenes könyvtárba
rsync -avzr --progress / var / www / html / / var / www / tmp / backup / >> result.txt
# Végezzen adatbázist, helyezze el a dump fájlt egy ideiglenes könyvtárba
mysqldump joomla> /var/www/tmp/backup/backup.sql
# Hozzon létre egy ideiglenes könyvtárat
tar -cvzf biztonsági mentés - $ (dátum +% y% m% d) .tar.gz --absolute-names / var / www / tmp / backup / >> result.txt
# Ellenőrizze a felhő könyvtárat, hogy van-e régi biztonsági mentés, ha van ilyen, törölje
find / root / OneDrive / backup / -name "mentés * .tar.gz" -idő +7 -exec rm -f \; >> eredmény.txt
# Másolja a korábban létrehozott archívumot a felhőbe
rsync -avzr --folyamat /root/bin/backup*.tar.gz / root / OneDrive / backup / >> result.txt
# Archívum törlése a szkriptkönyvtárból
rm -rf /root/bin/backup*.tar.gz >> eredmény.txt
# Szinkronizáljuk a felhővel a -local-first zászlóval, amely lehetővé teszi a régi biztonsági mentések eltávolítását a felhőből, ha helyben töröljük őket, és új biztonsági mentéseket töltünk fel.
onedrive - helyileg első - szinkronizálja >> eredmény.txt
# E-mailt küldünk egy csatolt fájllal, ahol a teljes biztonsági mentési folyamat megjelenik (cserélje ki a postaládájára)
echo "Nézze meg a fájlt, és javítsa ki azokat" | mail -a "/root/bin/result.txt" -s "Biztonsági másolat készítve" - ******@gmail.com
# Megtisztítjuk a könyvtárakat a felesleges fájloktól
rm -rf / gyökér/bin/result.txt && rm -rf / var / www / tmp / backup / *
A cikk írása előtt több biztonsági másolatot készítettem, hogy bebizonyítsam, hogy a szkript megfelelően működik (törli a régi biztonsági másolatokat, és újakat tölt fel).
Háromszor futtam kézzel. Számos biztonsági mentést hoztak létre, majd sikeresen elküldték őket a felhőbe:
ls -la / root / OneDrive / backup /
összesen 28260 drwxr-xr-x 2 gyökér gyökér 102. szeptember 17:02. drwxr-xr-x 5 gyökér gyökér 94 szeptember 11: 15 ... -rw-r - r-- 1 gyökér gyökér 9643081 3. szeptember 17:00 backup-1909031700.tar.gz -rw-r - r-- 1 root root 9643082 3. sz. 17:01 backup-1909031701.tar.gz -rw-r - r-- 1 root root 9643083 3. sz. 17:02 backup-1909031702.tar.gz A szinkronizáló motor inicializálása ... A változások szinkronizálása a helyi útvonalon először a OneDrive-ból történő letöltés előtt ... Elem törlése a OneDrive-ből: backup / backup-1909031700.tar.gz Elem törlése a OneDrive-ből: backup / backup-1909031701.tar.gz Elem törlése a OneDrive-ből: backup / backup-1909031702.tar.gz új fájl ./backup/backup-1909031704.tar.gz ... Feltöltés 100% | oooooooooooooooooooooooooooooooooooooooooo | 00:00:04 kész. 6 változtatás feldolgozása
A felhő ellenőrzése, mindhárom archívum itt található:
A következő lépésként töröltem a létrehozott biztonsági mentéseket a kiszolgáló könyvtárából, és újra futtam a szkriptet. A könyvtár tartalmának felsorolása a szerveren:
ls -la / root / OneDrive / backup /
összesen 9420 drwxr-xr-x 2 gyökérgyökér 38 szeptember 17:04. drwxr-xr-x 5 gyökér gyökér 94 szeptember 11: 15 ... -rw-r - r-- 1 gyökér gyökér 9643082 szeptember 3 17:04 backup-1909031704.tar.gz
Belépve a OneDrive webes felületére, láttam, hogy a biztonsági mentések automatikusan törlődnek, onnan pedig onnan.
A szkript futtatása után e-mailt kaptunk:
Ennyi, ennyi, a OneDrive biztonsági másolata véget ért..
Biztonsági mentés a Google Drive-ba.
Biztonsági mentés a Google Drive-ba Se-ben kiderült, nem olyan egyszerű, mint a OneDrive esetében, bár maga a beállítás nagyon egyszerű. A fő probléma a régi biztonsági mentések eltávolításával a Google Drive-ból merült fel, mivel a tárolókönyvtár nincs telepítve a szerverre. De a súgó meghajtójának hosszú tanulmányozása után sikerült frissíteni a korábban használt szkriptet.
#! / bin / bash
# 7 napnál régebbi fájlok törlése a g.drive segítségével
/ usr / sbin / meghajtólista -q "módosítva < '$(date -d '-7 day"+%Y-%m-%d')'" | cut -d" " -f1 - | xargs -L 1 drive delete -i
rsync -avzr --progress / var / www / html / / var / www / tmp / backup / >> result.txt
mysqldump joomla> /var/www/tmp/backup/backup.sql
tar -cvzf biztonsági mentés - $ (dátum +% Y% m% d) .tar.gz --absolute-names / var / www / tmp / backup / >> result.txt
# töltse fel a fájlt a g.drive fájlba
/ usr / sbin / meghajtó feltöltése -f / root / bin / backup*.tar.gz >> eredmény.txt
rm -rf /root/bin/backup*.tar.gz >> eredmény.txt
echo "Nézze meg a fájlt, és javítsa ki azokat" | mail -a "/root/bin/result.txt" -s "Biztonsági másolat készítve" - ******@gmail.com
rm -rf / gyökér/bin/result.txt
rm -rf / var / www / tmp / backup / *
A szkript fennmaradó lépéseit nem festettem, mivel ezeket megismételjük az előzőekkel.
A szkript futtatása végrehajtódott:
sh backup_gdrive.sh
Eltávolított 'DSC_2151.NEF' fájl Eltávolított 'DSC_2153.NEF' fájl Eltávolított fájl 'DSC_2159.NEF' Eltávolított fájl 'DSC_2226.NEF' Eltávolított fájl 'DSC_2225.NEF'
Ellenőrizze a fájl elérhetőségét a Google Drive-ban: meghajtólista
Az azonosító címe mérete létrehozva 1oay3-FAWBZRjHtma1cRTLrOvf3t8hRpD backup-20190904.tar.gz 9.6 MB 2019-09-04 14:43:25
A webes felületen ugyanolyan látható, mint a konzolon:
Így kapunk egy szkriptet, amely ellenőrzi a régi biztonsági mentések jelenlétét a Google Drive felhőben, törli őket, ha megfelelnek a követelményeknek, majd biztonsági másolatot készít a webhelyről, és ugyanahhoz a felhőhöz továbbítja.
Biztonsági mentési parancsfájl a Yandex.Diskon Linuxról
Ezt a felhőalapú tárolást egy snackre hagytam, mivel a Yandex.Disk-re történő mentés a legegyszerűbb, mert A Yandex felhő tárolását a WebDavon keresztül külön lemezes eszközként telepítettük. A módszer ugyanaz, futtatjuk a szkriptet, csak kis különbséggel, nem kell szinkronizálnunk vagy feltöltenünk a fájlokat speciális parancsokkal, úgy működünk, mint egy normál szerver könyvtárban. A könyvtár szinkronizálása az rsync használatával történik. A szkript a következőképpen néz ki:
#! / bin / bash
rsync -avzr --progress / var / www / html / / var / www / tmp / backup / >> result.txt
mysqldump joomla> /var/www/tmp/backup/backup.sql
tar -cvzf biztonsági mentés - $ (dátum +% Y% m% d) .tar.gz --absolute-names / var / www / tmp / backup / >> result.txt
find / mnt / yad / -name "backup * .tar.gz" - idő +7 -exec rm -f \; >> eredmény.txt
rsync -avzr - előrehaladás / gyökér/bin/backup*.tar.gz / mnt / yad / >> eredmény.txt
rm -rf /root/bin/backup*.tar.gz >> eredmény.txt
echo "Nézze meg a fájlt, és javítsa ki azokat" | mail -a "/root/bin/result.txt" -s "Biztonsági másolat készítve" - ****@gmail.com
rm -rf / gyökér/bin/result.txt
rm -rf / var / www / tmp / backup / *
Ugyanakkor, csak extra parancsok nélkül. Ha más útvonalak vannak a felhőtároláshoz, akkor változtassa meg a szkriptet a.
A cikk végére szeretném hozzátenni. Ezeket a szkripteket külön könyvtárba helyeztem és futtattam a koronán. Ha a felhőmeghajtók lemezterülete gyakran lehetővé teszi biztonsági mentések készítését, a lehető leggyakrabban történő létrehozását, legalább háromnaponként ajánlom. Használja a felhőalapú tárolási erőforrásait 100% -ban.
Példák a koronában levő feladatokra:
0 0 * * 6 / root / bin/backup.sh
- futtassa a biztonsági szkriptet minden szombaton 00-00-kor0 0 * / 3 * * / root / bin/backup.sh
- futtassa a biztonsági mentési szkriptet minden 3. napon a 00-00-on
És így tovább, tetszés szerint konfigurálhatja a biztonsági mentéseket, ha a szerver terhelése minimális.