Thema: Upload Script (7z & ncftp)
-
08.01.2012, 18:09 #1
Upload Script (7z & ncftp)
PHP-Code:#!/bin/sh
function upload()
{
#Settings:
ARCHIVPW=archivpasswort123
ARCHIVPARTSIZE=100M
FTPHOST=ftp.deite.de
FTPUSR=ftpuser
FTPPW=secret123
#Choices for OSD notifications:
# 0 = off
# 1 = notify-send
# 2 = growlnotify
OSDNOTIFICATIONS=1
OSDICON=/usr/share/pixmaps/terminal.xpm
OSDTIMEOUT=10000
#OSD per SSH ;)
# PublicKeyAuth needed!
# 0 = deactivated
# 1 = activated
SENDOSDPERSSH=1
SSHHOST=192.168.10.24
SSHUSR=square
SSHAUTHKEYNAME=SqsHQ
### Script starts here ###
SHUSER=`whoami`
echo ":: Please enter Archivname ::"
read ARCHIVNAME
echo ":: Please enter Season ::"
read SEASON
i=01
for INPUTFILE in `ls .`
{
echo "::: Zipping $INPUTFILE"
EPISODE=`printf "%.2i\n" $i`
ARCHIVNAMEFINAL=`echo "$ARCHIVNAME$SEASON$EPISODE"`
echo "::: Archivename: $ARCHIVNAMEFINAL"
if [ $OSDNOTIFICATIONS -ne 0 ];then
if [ $SENDOSDPERSSH -eq 1 ];then
if [ $OSDNOTIFICATIONS -eq 1 ];then
ssh -i /home/$SHUSER/.ssh/$SSHAUTHKEYNAME $SSHUSR@$SSHHOST 'export DISPLAY=:0 && /usr/bin/notify-send -i $OSDICON -t $OSDTIMEOUT "Upload" "<b>Start</b> zipping"'
elif [ $OSDNOTIFICATIONS -eq 2 ];then
ssh -i /home/$SHUSER/.ssh/$SSHAUTHKEYNAME $SSHUSR@$SSHHOST 'export DISPLAY=:0 && /usr/local/bin/growlnotify -t "Upload" -m "Start zipping"'
fi
elif [ $SENDOSDPERSSH -eq 0 ];then
if [ $OSDNOTIFICATIONS -eq 1 ];then
notify-send -i $OSDICON -t $OSDTIMEOUT "Upload" "Start zipping of <b>$INPUTFILE</b>as <b>$ARCHIVNAMEFINAL"
elif [$OSDNOTIFICATIONS -eq 2 ];then
growlnotify -t "Upload" -m "Start zipping of $INPUTFILE as $ARCHIVNAMEFINAL"
fi
fi
fi
7z a -mhe=on -p$ARCHIVPW -v$ARCHIVPARTSIZE $ARCHIVNAMEFINAL.7z $INPUTFILE
SEXC=$?
if [ $SEXC -ne 0 ];then
if [ $SEXC -eq 255 ];then
echo "::: **NOTICE** User interrupted Zipping. Stopping."
if [ $OSDNOTIFICATIONS -ne 0 ];then
if [ $SENDOSDPERSSH -eq 1 ];then
if [ $OSDNOTIFICATIONS -eq 1 ];then
ssh -i /home/$SHUSER/.ssh/$SSHAUTHKEYNAME $SSHUSR@$SSHHOST 'export DISPLAY=:0 && /usr/bin/notify-send -i $OSDICON -t $OSDTIMEOUT "Upload" "<b>***STOP***</b> User interrupted 7z"'
elif [ $OSDNOTIFICATIONS -eq 2 ];then
ssh -i /home/$SHUSER/.ssh/$SSHAUTHKEYNAME $SSHUSR@$SSHHOST 'export DISPLAY=:0 && /usr/local/bin/growlnotify -t "Upload" -m "***STOP*** User interrupted 7z"'
fi
elif [$SENDOSDPERSSH -eq 0 ];then
if [ $OSDNOTIFICATIONS -eq 1 ];then
notify-send -i $OSDICON -t $OSDTIMEOUT "Upload" "<b>***STOP***</b> User interrupted 7z"
elif [ $OSDNOTIFICATIONS -eq 2 ];then
growlnotify -t "Upload" -m "***STOP*** User interrupted 7z"
fi
fi
fi
exit 1
fi
t=1
while [ $t -le 3 ];do
if [ $OSDNOTIFICATIONS -ne 0 ];then
if [ $SENDOSDPERSSH -eq 1 ];then
if [ $OSDNOTIFICATIONS -eq 1 ];then
ssh -i /home/$SHUSER/.ssh/$SSHAUTHKEYNAME $SSHUSR@$SSHHOST 'export DISPLAY=:0 && /usr/bin/notify-send -i $OSDICON -t $OSDTIMEOUT "Upload" "<b>***WARNING***</b>7z failed, retry"'
elif [ $OSDNOTIFICATIONS -eq 2 ];then
ssh -i /home/$SHUSER/.ssh/$SSHAUTHKEYNAME $SSHUSR@$SSHHOST 'export DISPLAY=:0 && /usr/local/bin/growlnotify -t "Upload" -m "***WARNING***7z failed, retry"'
fi
elif [$SENDOSDPERSSH -eq 0 ];then
if [ $OSDNOTIFICATIONS -eq 1 ];then
notify-send -i $OSDICON -t $OSDTIMEOUT "Upload" "<b>***WARNING***</b>7z failed at $INPUTFILE bzw $ARCHIVNAMEFINAL, retry $t of 3"
elif [ $OSDNOTIFICATIONS -eq 2 ];then
growlnotify -t "Upload" -m "***WARNING***7z failed at $INPUTFILE bzw $ARCHIVNAMEFINAL, retry $t of 3"
fi
fi
fi
7z a -mhe=on -p$ARCHIVPW -v$ARCHIVPARTSIZE $ARCHIVNAMEFINAL.7z $INPUTFILE
7ZOUT=$?
if [ $7ZOUT -eq 0 ];then
t = 5
fi
t=`expr $t + 1`
if [ $t -eq 4 ];then
echo "::: **CRITICAL** Zipping failed after 3 trys."
if [ $OSDNOTIFICATIONS -ne 0 ];then
if [ $SENDOSDPERSSH -eq 1 ];then
if [ $OSDNOTIFICATIONS -eq 1 ];then
ssh -i /home/$SHUSER/.ssh/$SSHAUTHKEYNAME $SSHUSR@$SSHHOST 'export DISPLAY=:0 && /usr/bin/notify-send -i $OSDICON -t $OSDTIMEOUT "Upload" "<b>***ERROR***</b> 7z failed 3 times. Stopping script."'
elif [ $OSDNOTIFICATIONS -eq 2 ];then
ssh -i /home/$SHUSER/.ssh/$SSHAUTHKEYNAME $SSHUSR@$SSHHOST 'export DISPLAY=:0 && /usr/local/bin/growlnotify -t "Upload" -m "***ERROR*** 7z failed 3 times. Stopping script."'
fi
elif [ $SENDOSDPERSSH -eq 0 ];then
if [ $OSDNOTIFICATIONS -eq 1 ];then
notify-send -i $OSDICON -t $OSDTIMEOUT "Upload" "<b>***ERROR***</b> 7z failed 3 times at $INPUTFILE bzw $ARCHIVNAMEFINAL. Stopping script."
elif [ $OSDNOTIFICATIONS -eq 2 ];then
growlnotify -t "Upload" -m "***ERROR*** 7z failed 3 times at $INPUTFILE bzw $ARCHIVNAMEFINAL. Stopping script."
fi
fi
fi
exit 5
fi
done
fi
i=$[$i+1]
echo "::: All zipped, starting Upload"
if [ $OSDNOTIFICATIONS -ne 0 ];then
if [ $SENDOSDPERSSH -eq 1 ];then
if [ $OSDNOTIFICATIONS -eq 1 ];then
ssh -i /home/$SHUSER/.ssh/$SSHAUTHKEYNAME $SSHUSR@$SSHHOST 'export DISPLAY=:0 && /usr/bin/notify-send -i $OSDICON -t $OSDTIMEOUT "Upload" "Zipping done, starting upload"'
elif [ $OSDNOTIFICATIONS -eq 2 ];then
ssh -i /home/$SHUSER/.ssh/$SSHAUTHKEYNAME $SSHUSR@$SSHHOST 'export DISPLAY=:0 && /usr/local/bin/growlnotify -t "Upload" -m "Zipping done, starting upload"'
fi
elif [ $SENDOSDPERSSH -eq 0 ];then
if [ $OSDNOTIFICATIONS -eq 1 ];then
notify-send -i $OSDICON -t $OSDTIMEOUT "Upload" "Zipping of <b>$INPUTFILE bzw $ARCHIVNAMEFINAL</b> done, starting upload"
elif [ $OSDNOTIFICATIONS -eq 2 ];then
growlnotify -t "Upload" -m "Zipping of $INPUTFILE bzw $ARCHIVNAMEFINAL done, starting upload"
fi
fi
fi
for UPLOADARCHIVPART in `ls $ARCHIVNAMEFINAL*`
{
ncftpput -u $FTPUSR -p $FTPPW -DD $FTPHOST / $UPLOADARCHIVPART
OUT=$?
if [ $OUT -ne 0 ];then
t=1
while [ $t -le 3 ];do
ncftpput -u $FTPUSR -p $FTPPW -DD $FTPHOST / $UPLOADARCHIVPART
OUT=$?
if [ $OUT -eq 0 ];then
t = 5
fi
t=`expr $t + 1`
if [ $t -eq 4 ];then
echo "::: **CRITICAL** Upload failed after 3 trys."
if [ $OSDNOTIFICATIONS -ne 0 ];then
if [ $SENDOSDPERSSH -eq 1 ];then
if [ $OSDNOTIFICATIONS -eq 1 ];then
ssh -i /home/$SHUSER/.ssh/$SSHAUTHKEYNAME $SSHUSR@$SSHHOST 'export DISPLAY=:0 && /usr/bin/notify-send -i $OSDICON -t $OSDTIMEOUT "Upload" "<b>***ERROR***</b> Upload failed after 3 retrys at file $UPLOADARCHIVPART"'
elif [ $OSDNOTIFICATIONS -eq 2 ];then
ssh -i /home/$SHUSER/.ssh/$SSHAUTHKEYNAME $SSHUSR@$SSHHOST 'export DISPLAY=:0 && /usr/local/bin/growlnotify -t "Upload" -m "***ERROR*** Upload failed after 3 retrys at file $UPLOADARCHIVPART"'
fi
elif [ $SENDOSDPERSSH -eq 0 ];then
if [ $OSDNOTIFICATIONS -eq 1 ];then
notify-send -i $OSDICON -t $OSDTIMEOUT "Upload" "<b>***ERROR***</b> Upload failed after 3 retrys at file $UPLOADARCHIVPART"
elif [ $OSDNOTIFICATIONS -eq 2 ];then
growlnotify -t "Upload" -m "***ERROR*** Upload failed after 3 retrys at file $UPLOADARCHIVPART"
fi
fi
fi
exit 6
fi
done
elif [ $OUT -eq 0 ];then
if [ $OSDNOTIFICATIONS -ne 0 ];then
if [ $SENDOSDPERSSH -eq 1 ];then
if [ $OSDNOTIFICATIONS -eq 1 ];then
ssh -i /home/$SHUSER/.ssh/$SSHAUTHKEYNAME $SSHUSR@$SSHHOST 'export DISPLAY=:0 && /usr/bin/notify-send -i $OSDICON -t $OSDTIMEOUT "Upload" "<b>Sucess!</b> another part has been uploaded. Starting next..."'
elif [$OSDNOTIFICATIONS -eq 2 ];then
ssh -i /home/$SHUSER/.ssh/$SSHAUTHKEYNAME $SSHUSR@$SSHHOST 'export DISPLAY=:0 && /usr/local/bin/growlnotify -t "Upload" -m "Success, another part has been uploaded Starting next..."'
fi
elif [ $SENDOSDPERSSH -eq 0 ];then
if [ $OSDNOTIFICATIONS -eq 1 ];then
notify-send -i $OSDICON -t $OSDTIMEOUT "Upload" "<b>Upload of $UPLOADARCHIVPART done! starting next...</b>"
elif [ $OSDNOTIFICATIONS -eq 2 ];then
growlnotify -t "Upload" -m "Upload of $UPLOADARCHIVPART done! starting next..."
fi
fi
fi
fi
}
}
echo "::: All done!"
if [ $OSDNOTIFICATIONS -ne 0 ];then
if [ $SENDOSDPERSSH -eq 1 ];then
if [ $OSDNOTIFICATIONS -eq 1 ];then
ssh -i /home/$SHUSER/.ssh/$SSHAUTHKEYNAME $SSHUSR@$SSHHOST 'export DISPLAY=:0 && /usr/bin/notify-send -i $OSDICON -t $OSDTIMEOUT "Upload" "<b>Upload done!</b>"'
fi
elif [ $SENDOSDPERSSH -eq 0 ];then
if [ $OSDNOTIFICATIONS -eq 1 ];then
notify-send -i $OSDICON -t $OSDTIMEOUT "Upload" "<b>Upload done!</b>"
elif [ $OSDNOTIFICATIONS -eq 2 ];then
growlnotify -t "Upload" -m "Upload done!"
fi
fi
fi
}
upload
exit 0
Viel spass, nähere beschreibung auf neimen Blog
Upload Skript (7z und ncftp) - Sq252
Ähnliche Themen
-
[PHP] Bild Upload Script
Von Minecraft im Forum PHPAntworten: 3Letzter Beitrag: 11.07.2012, 16:21 -
[Bot-Upload] Nickresetter v1.1
Von CoD im Forum Sonstige Knuddels Bots/SoftwareAntworten: 5Letzter Beitrag: 31.01.2012, 15:29 -
[Shell Script]Upload Script (7z & ncftp)
Von Sq252 im Forum ShowroomAntworten: 0Letzter Beitrag: 08.01.2012, 18:12
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.