Good to Know Database

Shell Skript: Download English UserFriendly Comic Strip


Das folgende Shell Skript lädt den aktuellen englischen UserFriendly Comic Strip von der UserFriendly Homepage herunter.

Erstellen Sie durch den folgenden Befehl das Skript im Verzeichnis ~/sh.

[root@centos6 ~]# vi ~/sh/get_comic_userfriendly_en.sh

Fügen Sie jetzt das folgende Skript in die Datei get_comic_userfriendly_en.sh ein.

###########################################################################
##                                                                       ##
##               Download English UserFriendly Comic Strip               ##
##                                                                       ##
## Creation:    15.07.2012                                               ##
## Last Update: 20.10.2013                                               ##
##                                                                       ##
## Copyright (c) 2012-2013 by Georg Kainzbauer <http://www.gtkdb.de>     ##
##                                                                       ##
## This program is free software; you can redistribute it and/or modify  ##
## it under the terms of the GNU General Public License as published by  ##
## the Free Software Foundation; either version 2 of the License, or     ##
## (at your option) any later version.                                   ##
##                                                                       ##
###########################################################################
#!/bin/bash

# Local directory to store the comic strip
DIR=/var/www/html/comics/UserFriendly_EN/

# Who will be informed in case of new comic strip is available
MAIL="georg@home.lan"

# Mail subject
SUBJECT="New UserFriendly Comic Strip"

# URL of the comic strip
URL=$(/usr/bin/wget -q http://www.userfriendly.org/ -O - 2>/dev/null | /bin/grep -i "ALT=\"Latest Strip\"" | /bin/cut -d "\"" -f2)

# Download URL of the comic strip
DLURL=$(/usr/bin/wget -q ${URL} -O - 2>/dev/null | /bin/grep -i "Strip for" | /bin/cut -d "\"" -f6)

# Local file name of the comic strip
FILE=$(/bin/echo ${URL} | /bin/cut -d "/" -f5 | /bin/cut -d "=" -f2).gif

###################################################################
# NORMALLY THERE IS NO NEED TO CHANGE ANYTHING BELOW THIS COMMENT #
###################################################################

function log()
  {
    /bin/echo "LOG:" $1
  }

function error()
  {
    /bin/echo "ERROR:" $1
    exit 1
  }

# Check variables
if [ -z "${DIR}"  ] ; then
  error "Please specify the local comic strip directory."
fi

if [ -z "${URL}" ] ; then
  error "Please specify the URL of the comic strip."
fi

if [ -z "${DLURL}" ] ; then
  error "Please specify the download URL."
fi

if [ -z "${FILE}" ] ; then
  error "Please specify the local file name."
fi

# Create local comic strip directory if it does not exist
if [ ! -d ${DIR} ] ; then
  log "Creating local comic strip directory ${DIR}."
  /bin/mkdir -p ${DIR}
fi

# Check for new comic strip
if [ -f "${DIR}${FILE}" ] ; then
  log "No new comic strip found on the web server."
  exit 0
else
  log "Downloading new comic strip from the web server."
  /usr/bin/wget -q "${DLURL}" -O "${DIR}${FILE}"

  if [ -f "${DIR}${FILE}" ] ; then
    log "Download successful."
    if [ -n "${MAIL}" ] ; then
      log "Sending new comic strip to the mailing list."
      /usr/bin/mutt -s "${SUBJECT}" -a "${DIR}${FILE}" -- ${MAIL} < /dev/null;
    fi
  else
    error "Download failed."
  fi
fi

exit 0

Ändern Sie anschließend die Zugriffsrechte der Datei.

[root@centos6 ~]# chmod 0700 ~/sh/get_comic_userfriendly_en.sh

Öffnen Sie jetzt die Crontab mit dem folgenden Befehl zum Bearbeiten.

[root@centos6 ~]# crontab -e

Fügen Sie am Ende der Datei die folgende Zeile ein. Dadurch wird das Skript zu jeder vollen Stunde ausgeführt.

0 * * * * /root/sh/get_comic_userfriendly_en.sh >/dev/null 2>&1


Dieser Eintrag wurde am 15.07.2012 erstellt und zuletzt am 05.04.2015 bearbeitet.

Direkter Link zu dieser Seite: http://www.gtkdb.de/index_33_1749.html

[ Zur Startseite ]   [ Zur Kategorie ]


Valid XHTML 1.0 Transitional Valid CSS Valid Atom 1.0

© 2004-2018 by Georg Kainzbauer