<Poprzedni | Spis treści | Następne>
1.1. Prosty skrypt powłoki
Poniższy skrypt powłoki używa programu tar do utworzenia pliku archiwum w zdalnie podłączonym systemie plików NFS. Nazwa pliku archiwum jest określana za pomocą dodatkowych narzędzi wiersza poleceń.
#! / bin / bash
####################################
#
# Kopia zapasowa do skryptu montowania NFS.
#
####################################
# Co wykonać kopię zapasową.
backup_files="/home /var/spool/mail /etc /root /boot /opt"
# Gdzie wykonać kopię zapasową. cel="/mnt/kopia zapasowa"
# Utwórz nazwę pliku archiwum. day=$(data +%A) hostname=$(hostname -s) archive_file="$hostname-$day.tgz"
# Wydrukuj komunikat o stanie rozpoczęcia.
echo „Tworzenie kopii zapasowej $backup_files do $dest/$archive_file” data
przegapić
# Wykonaj kopię zapasową plików za pomocą tar.
tar czf $dest/$archive_file $backup_files
# Wydrukuj komunikat o stanie zakończenia. Echo
echo Data zakończenia tworzenia kopii zapasowej
# Długa lista plików w $dest, aby sprawdzić rozmiary plików. ls -lh $cel
• $pliki_kopii zapasowej: zmienna zawierająca listę katalogów, które chcesz wykonać kopię zapasową. Lista powinna być dostosowana do Twoich potrzeb.
• $dzień: zmienna przechowująca dzień tygodnia (poniedziałek, wtorek, środa itd.). Służy do tworzenia pliku archiwum dla każdego dnia tygodnia, dając historię tworzenia kopii zapasowych z siedmiu dni. Istnieją inne sposoby osiągnięcia tego celu, w tym użycie narzędzia daty.
• $nazwa hosta: zmienna zawierająca tzw krótki nazwa hosta systemu. Użycie nazwy hosta w nazwie pliku archiwum daje możliwość umieszczania dziennych plików archiwów z wielu systemów w tym samym katalogu.
• $ plik_archiwum: pełna nazwa pliku archiwum.
• $dest: miejsce docelowe pliku archiwum. Katalog należy utworzyć iw tym przypadku zamontować przed wykonaniem skryptu kopii zapasowej. Zobacz Część 2, „Sieciowy system plików (NFS)” [p. 253], aby uzyskać szczegółowe informacje na temat korzystania z NFS.
• komunikaty o stanie: opcjonalne komunikaty drukowane na konsoli za pomocą narzędzia echo.
• tar czf $dest/$archive_file $backup_files: polecenie tar użyte do utworzenia pliku archiwum.
• c: tworzy archiwum.
• z: przefiltruj archiwum za pomocą narzędzia gzip kompresującego archiwum.
• f: wyjście do pliku archiwum. W przeciwnym razie wyjście tar zostanie wysłane do STDOUT.
• ls -lh $cel: opcjonalna instrukcja drukuje a -l długa lista w -h czytelny dla człowieka format katalogu docelowego. Jest to przydatne do szybkiego sprawdzenia rozmiaru pliku archiwum. Ta kontrola nie powinna zastępować testowania pliku archiwum.
To jest prosty przykład zapasowego skryptu powłoki; jednak istnieje wiele opcji, które można uwzględnić w takim skrypcie. Patrz Sekcja 1.4, „Odnośniki” [p. 327], aby uzyskać łącza do zasobów zawierających bardziej szczegółowe informacje o skryptach powłoki.