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
