• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Bash - Wykonywanie backupu co określony czas.

VPS Starter Arubacloud
0 głosów
1,227 wizyt
pytanie zadane 31 stycznia 2017 w Systemy operacyjne, programy przez Sebastian Białek Początkujący (270 p.)

Dzień dobry,

Dostałem zadanie napisać skrypt do backupu. Treść zadania poniżej

"Napisz skrypt do tworzenia kopii zapasowej wybranego katalogu co podany czas, jeżeli jakiś plik w tym katalogu zmienił zawartość."

Poniżej przesyłam mój aktualny stan:

!/bin/bash

SOURCE="/var/www/my_web/load/"
BACKUP="/home/your_user/load/"
LBACKUP="/home/your_user/load/latest-full/"

DATE=$(date +%Y-%m-%d-%T)

DESTINATION="$BACKUP"/"$DATE"-diff/

rsync -av --compare-dest="$LBACKUP" "$SOURCE" "$DESTINATION"

cd "$DESTINATION"
find . -depth -type d -empty -delete

 

Program co prawda wykonuje kopie zapasowe natomiast tylko wtedy kiedy ja go uruchomię, potrzebuję sposobu aby wykonywał się samoczynnie co określony czas. Jakby ktoś mógł pomóc, to byłbym bardzo wdzięczny.

Z wyrazami szacunku,
Sebastian

1 odpowiedź

+4 głosów
odpowiedź 31 stycznia 2017 przez Benek Szeryf (90,690 p.)
edycja 31 stycznia 2017 przez Benek
 
Najlepsza

Musisz się zapoznać z programem crontab, który służy właśnie do tego typu działań. Utwórz specjalny plik wsadowy dla programu crontab. W tym celu wpisujesz:

crontab -e

Otworzy Ci się domyślny edytor tekstu do którego możesz wpisywać swoją tabelę.

crontab -r
crontab -l

Powyższe polecenia odpowiednio usuwają plik z tabelą i listują go na ekranie.

PLIK Z TABELĄ

Tabela może uruchamiać wiele zadań jednocześnie o dowolnej porze. Tabela musi mieć co najmniej jeden wiersz (uruchamiać jedno polecenie), by jej istnienie miało sens. Każdy wiersz składa się z 6 pól. 5 pierwszych odpowiada za moment uruchomienia, ostatnie to polecenie.

minuty godziny dni miesiące dzień_w_tyg polecenie

Na przykład jeśli chcesz, by Twój skrypt uruchamiał się każdego dnia o 10:00, to zastosuj zapis:

0 10 * * * bezwzgledna/sciezka/do/skryptu/skrypt.sh

Gwiazdka oznacza wszystkie wystąpienia. Jeszcze jeden przykład:

30 9 * 2-4 1 echo "I'm watching you ^_^"

W tym przypadku w każdy poniedziałek lutego, marca i kwietnia o godzinie 9:30 zostanie wypisane polecenie "I'm watching you".

komentarz 31 stycznia 2017 przez Sebastian Białek Początkujący (270 p.)
Dzięki, wszystko działa jak należy.

Podobne pytania

0 głosów
1 odpowiedź 290 wizyt
pytanie zadane 22 stycznia 2018 w Ogłoszenia, zlecenia przez jjanek Użytkownik (630 p.)
0 głosów
0 odpowiedzi 1,887 wizyt
+1 głos
1 odpowiedź 1,789 wizyt
pytanie zadane 24 marca 2017 w Python przez niezalogowany

92,453 zapytań

141,262 odpowiedzi

319,088 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...