Cześć, dzisiaj przedstawię wam mały skrypt bash, który robi backup danego folderu na naszym serwerze o danej godzinie lub w danym dniu, ewentualnie co kilka minut.
Skrypt:
#!/bin/bash
DATA=`date +"%b-%d-%y"`
NAZWAPLIKU="backup-$DATA.tar.gz"
ZRODLO="/home/minecraft"
KDOCELOWY="/home/backup"
tar -cpzf $KDOCELOWY/$NAZWAPLIKU $ZRODLO
Przy ZRODLO należy podać katalog, jaki chcemy zapakować, natomiast przy KDOCELOWY podajemy ścieżkę do folderu, gdzie kopia ma się znajdować. Plikowi należy nadać uprawnienia 700.
Uprawnienia:
chmod 700 nazwaskryptu.sh
Jeżeli chcemy, żeby skrypt sam się uruchamiał należy dodać go do crona, (wpisujemy w terminalu):
crontab -e
Następnie dopisujemy to w pliku, który otworzyliśmy poleceniem wyżej:
00 01 * * * /sciezka_do_skryptu/nazwaskryptu.sh
Dzięki temu nasz skrypt uruchomi się każdego dnia o godzinie 01:00 w nocy :slight_smile:
Poniżej zamieszczam wyjaśnienie jak działa ustawienie konkretnej godziny, czy dnia:
--------------------------------------------------------------------------------------------------------------------------------------------------------------- * * * * * komenda do wykonania - - - - - | | | | | | | | | +----- dzień tygodnia (0 - 7) (niedziela=0, poniedziałek=1, wtorek=2, ..., niedziela=7) (niedziela może być przedstawiona jako 0 lub 7) | | | | | | | +------- miesiąc (1 - 12) | | | | | +--------- dzień miesiąca (1 - 31) | | | +----------- godzina (0 - 23) | +------------- minuta (0 - 59) Możemy także stosować: - * - zawsze (każda minuta, każda godzina, każdy dzień, każdy miesiąc, każdy dzień tygodnia) - Zakres: x-y – czyli od „x” do „y”, np. „1-5” to każda minuta/godzina/dzień/miesiąc od 1 do 5 - Przerwa: */x – np. „*/8” to polecenie wykonane co 8 minut/godzin/dni… - Kolejne wartości: x,y,z – np. „2,5,8” może oznaczać polecenie wykonane w 2, 5 i 8 minucie/godzinie… - Wiele zadań w jednym wpisie: ; rozdzielamy polecenia ---------------------------------------------------------------------------------------------------------------------------------------------------------------