Code-Schnippsel: Upload-Script (SSH)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#! /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.

Teilen: E-Mail

Hinterlasse einen Kommentar oder diskutiere im OSBN-Chat.

In den Kommentaren können folgende Formatierungen genutzt werden.