AllgemeinBlogLinuxShell

Shell Script zum Kopieren

Ich habe mir heute mal ein keines Shell Script geschrieben, welches mir Dateien hin und hier schiebt. Ziel war es die Daten von meinem Test System in die Produktiv Ordner meines Webserver zu schieben. Da es mehrere Ordner sind, war und ist es ziemlich mühselig Änderungen auf die produktiven Seiten zu kopieren. Die Funktionsweise ist eigentlich ziemlich schnell erklärt. Im Array sind meine Produktiv Systeme, bzw. Ordner. In der ersten IF-Anweisung prüft er ob die Datei, die ich der Shell als Parameter übergeben habe, überhaupt im Test existiert. Sollte dies der Fall sein, springt das Script in ein Loop über das Array und prüft auch dort nach, ob es diese Datei gibt.
Die zweite IF-Anweisung prüft, ob diese Datei im Produktiv System zur Verfügung steht. Falls dies der Fall ist, gibt es eine kleine Nachricht, dass diese Datei existiert und kopiert die Datei aus dem Test System in alle Produktiv System. Falls die Dateien nicht existieren, gibt es eine jeweilige Nachricht.

 

#!/bin/bash

echo $1
array=('Folder1' 'Folder2' 'Folder3' 'Folder4' 'Folder5' 'Folder6' 'Folder7')

if [ -f 'FolderTEST/'$1 ]
then
 for i in "${array[@]}"
  do

   if [ -f $i/$1 ]
   then
     echo $i/$1 'exists, going to replace'
     cp -f 'FolderTEST/'$1 $i/$1
   else
     echo $i/$1 ' does not exist in ' $i
   fi

  done
else
 echo 'File does not exists in TEST'
fi

Ziemlich klein und einfach gehalten aber es erfüllt seinen Zweck 😉

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.