Ein Shell -Skript, um alle Dateien mit derselben Struktur zu kopieren

Ein Shell -Skript, um alle Dateien mit derselben Struktur zu kopieren

Dieses Shell -Skript ist für eine bestimmte Aufgabe ausgelegt, die für unseren Server erforderlich ist. So teilen Sie das Skript mit Tecadmin -Lesern. Es könnte für Sie hilfreich sein.

Erfordernis

Unsere Anforderung besteht darin, alle im Verzeichnis erstellten Dateien mit derselben Verzeichnisstruktur in ein anderes Verzeichnis zu kopieren. Das Skript wird in einem regulären Intervall ausgeführt, suchen Sie nach allen im Quellverzeichnis erstellten Dateien und kopieren Sie sie in das Zielverzeichnis. Das Skript muss die gleiche Verzeichnisstruktur im Zielverzeichnis beibehalten. Ändern Sie danach die Erlaubnis im Zielverzeichnis. Nach erfolgreicher Kopie der Datei muss das Skript die Datei aus dem Quellverzeichnis entfernen.

Shell-Skript

Erstellen Sie ein Shell -Skript in Ihrem System und fügen Sie unten Inhalt hinzu. Aktualisieren Sie die Quell- und Zielverzeichnisse an den richtigen Standort.

Setzen Sie Change_ownership auf 0, wenn Sie nicht das Eigentum an Zieldateien ändern möchten.

#!/bin/bash ################################################################################################################# zu erhaltenann ##### #####ordnungsgemäß die richtige Quell- und Zielverzeichnissposition Source_Dir = "/Source/Dir/" dest_dir = "/dessination/dir/" tmp_file =/tmp/copyFileslist.TXT ### Setzen Sie den Benutzernamen und der Gruppenname, um die Berechtigung für kopierte Dateien festzulegen. ######unten bearbeiten, bis erforderlich ################## ### Test Wenn das Quellverzeichnis vorhanden ist -d "$ source_dir"]; dann das Echo "Quellverzeichnis gefunden" else echo "-Sellverzeichnis nicht gefunden. Bitte überprüfen Sie die obigen Variablen werden korrekt festgelegt "Echo" -Skript "beendet". ### Wenn das Verzeichnis nicht erstellt wurde, wird das Skript beendet, wenn [-d "$ dest_dir"]; dann das echo "Zielverzeichnis gefunden, alles ok" sonst echo "destination destionory nicht gefunden und jetzt" mkdir -p "$ dest_dir" if [$? -Gl 0]; dann echo "erfolgreich erstelltes Zielverzeichnis erstellt."else echo" konnte das Zielverzeichnis nicht erstellen. Skript beendet "Beenden Sie 1 fi fi ### Alle Dateien, die im Quellverzeichnis verfügbar sind. ### Nach erfolgreichem Kopieren von Dateien aus dem Quellverzeichnis entfernen. CD "$ source_dir" if [$? -Gl 0]; dann finden . -Geben Sie f> $ tmp_file an, während les current_file_name do cp -parents "$ current_file_name" "$ dest_dir" if [$? -Gl 0]; dann echo "Datei $ current_file_name erfolgreich kopiert."rm -f" $ current_file_name "else echo" Datei $ current_file_name konnte nicht kopieren "fi fertiggestellt < $TMP_FILE rm -f $TMP_FILE fi ## Set the permissions after copying files if [ $CHANGE_OWNERSHIP -eq 1 ]; then sudo chmod 775 -R "$DEST_DIR" sudo chown $USER:$GROUP -R "$DEST_DIR" fi ################### End of Script ###################################
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879#!/bin/bash ################################################################################################################# zu erhaltenann ##### #####ordnungsgemäß die richtige Quell- und Zielverzeichnissposition Source_Dir = "/Source/Dir/" dest_dir = "/dessination/dir/" tmp_file =/tmp/copyFileslist.TXT ### Setzen Sie den Benutzernamen und der Gruppenname, um die Berechtigung für kopierte Dateien festzulegen. #### Bearbeiten Sie unten erst erforderlich. D "$ source_dir"]; dann das Echo "Quellverzeichnis gefunden" else echo "-Sellverzeichnis nicht gefunden. Bitte überprüfen Sie die obigen Variablen werden korrekt festgelegt "Echo" -Skript "beendet".### Wenn das Verzeichnis nicht erstellt wurde, wird das Skript beendet, wenn [-d "$ dest_dir"]; dann das echo "Zielverzeichnis gefunden, alles ok" sonst echo "destination destionory nicht gefunden und jetzt" mkdir -p "$ dest_dir" if [$? -Gl 0]; dann echo "erfolgreich erstelltes Zielverzeichnis erstellt."else echo" konnte das Zielverzeichnis nicht erstellen. Skript beendet "Beenden Sie 1 FIFI ### Alle Dateien, die im Quellverzeichnis verfügbar sind. ### Nach erfolgreichem Kopieren von Dateien entfernen. CD "$ source_dir" if [$? -Gl 0]; dann finden . -Geben Sie f> $ tmp_file an, während les current_file_name do cp -parents "$ current_file_name" "$ dest_dir" if [$? -Gl 0]; dann echo "Datei $ current_file_name erfolgreich kopiert."rm -f" $ current_file_name "else echo" Datei $ current_file_name konnte nicht kopieren "fi fertiggestellt < $TMP_FILE rm -f $TMP_FILEfi ## Set the permissions after copying files if [ $CHANGE_OWNERSHIP -eq 1 ]; then sudo chmod 775 -R "$DEST_DIR" sudo chown $USER:$GROUP -R "$DEST_DIR"fi ################### End of Script ###################################

Speichern Sie Ihre Datei und schließen Sie sie.

Legen Sie dann die Berechtigung aus, die Berechtigung ausführen zu können.

CHMOD +X -Skript.Sch