projekty: get-file/get-new-file (NEW) - init
wolvverine
wolvverine at pld-linux.org
Tue Jan 15 02:21:53 CET 2008
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
================================================================
More information about the pld-cvs-commit
mailing list