Good to Know Database

Shell Skript: Download English GeekHero Comic Strip


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

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

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

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

###########################################################################
##                                                                       ##
##                 Download English GeekHero 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/GeekHero_EN/

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

# Mail subject
SUBJECT="New Geek Hero Comic Strip"

# Web server URL to download the comic strip
URL=http://www.geekherocomic.com

# Path of the comic strip on the web server
PATH=/comics/

# File name of the comic strip on the web server
FILE=$(/usr/bin/wget -q ${URL} -O - 2>/dev/null | /bin/grep -i "/comics/" | /bin/cut -d "\"" -f2 | /bin/cut -d "/" -f5)

###################################################################
# 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 web server URL."
fi

if [ -z "${PATH}" ] ; then
  error "Please specify the path on the web server."
fi

if [ -z "${FILE}" ] ; then
  error "Please specify the file name on the web server."
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 "${URL}${PATH}${FILE}" -P ${DIR}

  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_geekhero_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_geekhero_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_1747.html

[ Zur Startseite ]   [ Zur Kategorie ]


Valid XHTML 1.0 Transitional Valid CSS Valid Atom 1.0

© 2004-2018 by Georg Kainzbauer