===== Dieses Skript erstellt ein Skript ===== in dem die Umgebungsvariablen gesetzt werden, damit diese im Cronjob zur Verfügung stehen. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #!/bin/sh \\ #\\ # get the whole environment of the user to automate creation of crontasks\\ # $HOME/script.d/readenv.sh \\ # \\ name=$1 \\ scriptname="$HOME/tmp/$name.txt" \\ touch $scriptname \\ ls $scriptname \\ script=$HOME/script.d/$1.sh \\ if [ -z $1 ] ; then \\ echo "Syntax: $0 Script.to.create" \\ echo "I will append .sh to the scriptname and open it in vi(m) for you" \\ exit 1 \\ fi \\ echo "#!`which sh`" > $scriptname \\ echo "#" >> $scriptname \\ if [ -z $BS_DIR ]; then \\ BS_DIR=$HOME \\ fi \\ echo "export BS_DIR=$HOME" >> $scriptname \\ echo "export PATH=$PATH" >> $scriptname \\ echo $BS_DIR \\ if [ -f $BS_DIR/bin/ld_library_path.sh ] ; then \\ echo '. $BS_DIR/bin/ld_library_path.sh' >> $scriptname \\ else \\ echo 'export ld_library_path=$BS_DIR/bin' >> $scriptname \\ echo 'export LD_LIBRARY_PATH=$BS_DIR/bin' >> $scriptname \\ fi \\ echo >> $scriptname \\ echo "# Folgende Variablen bitte verifizieren/ausfuellen:" >> $scriptname \\ PHP=`which php` \\ echo "export PHP=$PHP" >> $scriptname \\ echo "PHPINI=$BS_DIR/ini.d/php5.ini" >> $scriptname \\ echo "PHPSCRIPT=$BS_DIR/script.d/$name.php" >> $scriptname \\ echo "Beispielzeile fuer den Eintag als cronjob" >> $scriptname \\ echo '5 * * * * $script ' >> $scriptname \\ echo '#Hier kommt der Programmaufruf:' >> $scriptname \\ echo " " >> $scriptname \\ echo '$PHP -c $PHPINI $PHPSCRIPT' >> $scriptname \\ cat $scriptname > $script \\ rm -f scriptname.tmp \\ vi $script \\ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Wenn das entstandene Skript in cron ausgeführt wird, sollten alle benötigten Umgebungsvariablen (Stand heute) gesetzt sein. \\ ==== Ausführen als anderer Benutzer ==== Wenn das Skript von root im Namen eines anderen Benutzers ausgeführt werden soll, dann folgendermaßen aufrufen: \\ /usr/bin/sudo -u etime -i /home/etime/script.d/SKRIPT 2>/dev/null >&1 (**sudo -i** lädt .profile usw. wie bei einem login, so dass alle Variablen gesetzt sein sollten)