Ich habe hier
schon mal ein kleines Script zum automatischen Upload von Dateien auf
einen Webserver vorgestellt. Mittlerweile habe ich das um ein paar
Funktionen erweitert.
Da ich kein Bash- oder Linux-Profi bin gilt es natürlich vorsichtig
zu sein. Für mich funktioniert das Script aber seit einer Weile ohne
Probleme.
#! /bin/bash
# License GPL v3 or later
# https://www.gnu.org/copyleft/gpl.html
ZIELPFAD='Zielpfad auf dem Server eingeben'
KONTO='z.B. user@example.com'
URL='user.example.com'
if [ $# -ne 1 ] || [ $1 = help ]
then
if [ $# -eq 2 ] && [ $1 = delete ]
then
EINGABE=$(printf %q $2)
NAME=$(basename $EINGABE)
echo "Anzeige der gefundenen Treffer:"
ssh $KONTO -t "find $ZIELPFAD -name $NAME"
read -s -p "Soll(en) die Datei(en) gelöscht werden? (j/N)" -N 1 ANTWORT
if [ -z $ANTWORT ]
then
exit
fi
if [ $ANTWORT != "j" ]
then
exit
fi
echo "" #Kosmetik
ssh $KONTO -t "find $ZIELPFAD -name $NAME -delete"
exit
fi
PROGRAMM=$(basename $0)
echo "$PROGRAMM - ein einfaches Uploadscript."
echo
echo "Benutzung:"
echo "$PROGRAMM Datei - lädt die Datei auf den Server"
echo "$PROGRAMM delete Datei - löscht die Datei vom Server"
echo "$PROGRAMM help - Hilfe"
exit
fi
EINGABE=$(printf %q $1)
PFAD=$(realpath $EINGABE)
NAME=$(basename $EINGABE)
DATE=$(date +%Y-%m)
if [ -z $PFAD ]
then
exit
fi
if ssh $KONTO test -e \'$ZIELPFAD/$DATE/$NAME\'
then
echo Datei ist schon vorhanden und wurde nicht überschrieben.
else
rsync -avzP $PFAD $KONTO:\'$ZIELPFAD/$DATE/\'
ssh $KONTO -t "chmod 744 $ZIELPFAD/$DATE/$NAME"
echo "" # Kosmetik
echo Gespeichert unter: $URL/$DATE/$NAME
fi
[Update 2017-08-24]
Ich habe heute mal wieder in mein Updatescript geschaut und
festgestellt, dass chmod 744
besser ist als chmod 755
.