Ich möchte einen Cron-Job einrichten, um ein entferntes System auf eine Backup-Partition zu synchronisieren, etwa wie folgt:
%Vor% Ich möchte es "einstellen und vergessen" können, aber was passiert, wenn /mnt/remote1
ausgehängt wird? (Nach einem Neustart oder etwas) Ich möchte Fehler, wenn /mnt/remote1
nicht eingehängt ist, anstatt das lokale Dateisystem zu füllen.
Bearbeiten:
Hier ist, was ich für ein Skript gefunden habe, Cleanup-Verbesserungen geschätzt (vor allem für die leeren dann ... sonst könnte ich nicht leer oder bash Fehler lassen)
Holen Sie sich die Liste der eingehängten Partitionen von /proc/mounts
, stimmen Sie nur mit /mnt/remote1
überein (und wenn es eingehängt ist, senden Sie die Ausgabe von grep an /dev/null
) und führen Sie dann Ihren rsync
Job aus.
Letzte grep
s haben eine Option -q
, die Sie verwenden können, anstatt die Ausgabe an /dev/null
zu senden.
mountpoint
scheint die beste Lösung dafür zu sein: Es gibt 0 zurück, wenn ein Pfad ein Mount-Punkt ist:
Gefunden bei LinuxQuestions .
Eine schnelle Google führte mich zu diesem Bash-Skript, das prüfen kann, ob ein Dateisystem gemountet ist. Es scheint, dass grepping die Ausgabe von df oder mount ist der Weg zu gehen:
%Vor%chmod +x backup.sh
) backup.sh [username (for rsync)] [backup source device] [backup source location] [backup target device] [backup target location]
!!! ACHTUNG !!! Führen Sie das Skript nicht als root-Benutzer aus, ohne den Code zu verstehen!
Ich denke, es gibt nichts zu erklären. Der Code ist einfach und gut dokumentiert.
%Vor%