Author: wolvverine                   Date: Tue Jan 15 01:21:53 2008 GMT
Module: projekty                      Tag: HEAD
---- Log message:
- init

---- Files affected:
projekty/get-file:
   get-new-file (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: projekty/get-file/get-new-file
diff -u /dev/null projekty/get-file/get-new-file:1.1
--- /dev/null   Tue Jan 15 02:21:53 2008
+++ projekty/get-file/get-new-file      Tue Jan 15 02:21:48 2008
@@ -0,0 +1,86 @@
+#!/bin/bash
+# Michał Panasiewicz - GPL v3
+# - skrypt sprawdza czy jest nowa wersja pliku, jesli tak pobiera ja 
zastepuj�c (opcjonalnie) poprzedni� jesli ma ta sama nazwe
+# - nalezy dodac do cron-a wywołanie
+# TODO: 
+# - check path/file exist
+# - config file(s) for many files
+
+# config for file
+FILENAME="PegazHI_HP.EXE"
+FILEVERSION="/var/tmp/lastversion-"
+URLTOFILE="http://www.pegazatena.pl/Dodatki/";
+RECIPIENT="root"
+PATHTOFILE="/home/services/samba/instalki/pegaz"
+FILECONTENT="application/x-msdos-program"
+REMOVEOLDFILES="yes"
+
+# config for script
+MAILPROG="/bin/mail"
+GETPROG="wget"
+GETOPT="-nv"
+
+DATA=`date +%Y%m%d`
+TIME=`date +%H%M`
+HEADFILE="/tmp/headurl${RANDOM}"
+
+# script
+FILEVERSION="${FILEVERSION}${FILENAME}"
+URLTOFILE="${URLTOFILE}${FILENAME}"
+HEAD "${URLTOFILE}" > "${HEADFILE}"
+URLFILECONTENT=`awk -F": " '$1=="Content-Type" { print $2 }' "${HEADFILE}"`
+
+
+if [ "${URLFILECONTENT}" != "${FILECONTENT}" ]; then
+       exit
+# TODO: info/mail ?
+fi
+
+if [ ! -e "${FILEVERSION}" ]; then
+   touch "${FILEVERSION}"
+fi
+
+if [ ! -e "${PATHTOFILE}" ]; then
+       echo "path ${PATHTOFILE} not exist"
+       if [ "${RECIPIENT}" != "" ]; then
+               echo "path ${PATHTOFILE} not exist" |  "${MAILPROG}" -s "path 
${PATHTOFILE} not exist" "${RECIPIENT}"
+       fi
+       exit
+fi
+
+ACTUALDATE=`awk -F": " '$1=="Last-Modified" { print $2 }' "${HEADFILE}"`
+LASTDATE=`awk '{ print }' "${FILEVERSION}"`
+ 
+if [ "${LASTDATE}" != "${ACTUALDATE}" ]; then
+       if [ "${RECIPIENT}" != "" ]; then
+               echo `awk -F": " '$1=="Last-Modified" { print $1 " " $2 }' 
"${HEADFILE}"| "${MAILPROG}" -s "new file ${FILENAME} - ${DATA}-${TIME}!" 
"${RECIPIENT}"`
+       fi
+
+cd "${PATHTOFILE}"
+if [ "${REMOVEOLDFILES}" == "yes" ]; then
+    rm -f "${FILENAME}" 
+    rm -f wget-log wget-log.?
+    rm -f "${HEADFILE}"
+fi
+    "${GETPROG}" "${GETOPT}" "${URLTOFILE}"
+    ERROR=$?
+        if [ ! "${ERROR}" -eq 0 ]; then
+               echo "error get ${FILENAME} - ${DATA}-${TIME} !"
+               if [ "${RECIPIENT}" != "" ]; then
+                       "${MAILPROG}" -s "error get ${FILENAME} - 
${DATA}-${TIME} !" "${RECIPIENT}"
+               fi
+       else
+               echo  "${ACTUALDATE}" > "${FILEVERSION}"
+               ERROR=$? ;
+               if [ ! "${ERROR}" -eq 0 ]; then
+                       echo  "error write version file ${FILEVERSION} for 
${FILENAME} - ${DATA}-${TIME} !"
+                       if [ "${RECIPIENT}" != "" ]; then
+                               "${MAILPROG}" -s "error write version file 
${FILEVERSION} for ${FILENAME} - ${DATA}-${TIME} !" "${RECIPIENT}"
+                       fi
+               fi
+               echo "OK - get file ${FILENAME} - ${DATA}-${TIME} !"
+               if [ "${RECIPIENT}" != "" ]; then
+                       "${MAILPROG}" -s "OK - get file ${FILENAME} - 
${DATA}-${TIME} !" "${RECIPIENT}"
+               fi
+        fi
+fi
================================================================
_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to