Archiv

Posts Tagged ‘BASH’

prgftp – Ein kleines Versionierungsscript (BASH)

September 21, 2009 Hinterlasse einen Kommentar

prgftp ist ein kleines Script mit dem man belibige Verzeichnisse und Quellcode in ein *tar.gz-Archiv packen und dann auf einen FTP-Server hochladen kann.

Das Script enstand aus dem Gedanken heraus, meine geschribenen Java Programme automatisch auf meinen FTP-Server upzuloaden und mit einer Versionsnummer zu versehen.


<code>#!/bin/bash</code>

#Bash Script um erstellte Porgramme auf einen FTP-Server hochzuladen
#und zu packen (tar.gz)

#-----------------------------Variablen-----------------------------
#Arbeitsverzechnis (Dort wo die Ordner mit den Quellcodes liegen)
PRG_PATH=

#zu packende Ordner
#1. Quellcode -> Unterordner "src"
SRC_PATH=/src
#2. JAR-File -> Unterordner "jar"
JAR_PATH=/jar
#3. APP -> Unterordner "app"
#APP_PATH=/app

#usw

#Bezeichungen der Archive
src=_src
jar=_jar
#_app=app

#Zugangsvariablen FTP
#Benutzername
user=
#Password
paswd=
#FTP-Adresse
serv=
#Arbeitsverzeichnis
srvdir=

#-----------------------------Packen-------------------------------
#Wechseln ins Programmierverzeichnis
cd $PRG_PATH

#Ordnername des Programms das gepackt und hochgeladen werden soll
echo "Programmname :"
read prgname

#Versionsnummer des Programms z.B. (-)0.0.2
echo "Versionsnummer :"
read prgversion

#erstellen der *.tar.gz -Archive im Programmierverzeichnis
#Quellcode
tar cfvz $prgname$prgversion$src.tar.gz $prgname$SRC_PATH/

#JAR-File
tar cfvz $prgname$prgversion$jar.tar.gz $prgname$JAR_PATH/

#OS X App
#tar cfvz $prgname$prgversion$app.tar.gz $prgname$APP_PATH/

#---------------------------Uploaden----------------------------
ftp -n <<eoftp
open $serv
user $user $paswd
bin
cd $srvdir

put  $prgname$prgversion$src.tar.gz  $prgname$prgversion$src.tar.gz
put  $prgname$prgversion$jar.tar.gz  $prgname$prgversion$jar.tar.gz
#put  $prgname$prgversion$app.tar.gz  $prgname$prgversion$app.tar.gz

quit
EOFTP

#-----------------------------Löschen----------------------------
#löschen der lokal angelegten Archive
rm $prgname$prgversion$src.tar.gz
rm $prgname$prgversion$jar.tar.gz
#rm $prgname$prgversion$app.tar.gz

#---------------------------Ende--------------------------------
echo "Fertig!"

Der Code darf gerne kopiert und weiterentwickelt werden.
Für Anregungen und Kritik bin ich wie immer dankbar.