Tiii....mare tolomac mai sunt.
Sa va dea dumnezeu sanatate tuturor, ca ma nu ma gindeam sub nici o
forma ca greseala e in crontab! Deja incepusem sa scriu un alt script
:-))))))))
Uneori din cauza padurii nu vezi copacii :-).
Multumita voua am rezolvat problema in timp util.
Am mai patit chestii daste cu scripturi scrise pe sheluri mai noi care
pe sheluri vechi dadeau tot felul de erori, si eram superconvins ca e
problema de bash scripting.
Inca o data mii de multumiri si sa traiti 100 de ani :-))))
Regards,
Alex
On Wednesday 25 September 2002 12:44, you wrote:
> here we go again...
>
> 1. daca pui comenzile tale in /var/spool/cron/root (metoda
> recomandata este sa te faci root si sa dai comanda 'crontab -e'),
> sintaxa este
> * * * * * /root/bin/rescanscsi
> (FARA root)
>
> 2. daca pui comenzile in /etc/crontab (care este global, pentru toti
> userii), sintaxa este
> * * * * * root /root/bin/rescanscsi
> ^^^^- userul cu care este rulata comanda
>
> 3. daca folosesti /etc/cron.{hourly,daily,etc} se pune in directorul
> respectiv direct scriptul de executat sau link simbolic catre el
>
> 4. */1 este inutil. * e acelasi lucru (orice numar se imparte exact
> la 1, right?)
>
> On Wed, Sep 25, 2002 at 11:48:08AM +0300, Alex wrote:
> > Hi Alex :-),
> >
> > Nu , nu.... problema nu este la ordinea executarii, ci in scriptul
> > in sine. Am facut un mic test:
> > 1. am lasat in crontab numai o linie de forma:
> > */1 * * * * root /root/bin/rescanscsi -r &> /root/xxx.log
> >
> > Apoi ma uit in /var/spool/mail/root si in /root/xxx.log. Iata
> > rezultatele:
> > [root@server bin]# cat /root/xxx.log
> > /bin/sh: root: command not found
> > [root@server bin]#
> >
> > [root@server bin]# cat /var/spool/mail/root
> > -----------------------------------
> >
> > >From root Wed Sep 25 10:30:01 2002
> >
> > Return-Path: <[EMAIL PROTECTED]>
> > Received: (from root@localhost)
> > by localhost.localdomain (8.11.6/8.11.6) id g8P7U0001357
> > for root; Wed, 25 Sep 2002 10:30:00 +0300
> > Date: Wed, 25 Sep 2002 10:30:00 +0300
> > Message-Id: <[EMAIL PROTECTED]>
> > From: [EMAIL PROTECTED] (Cron Daemon)
> > To: [EMAIL PROTECTED]
> > Subject: Cron <root@server> root /bin/echo "am scanat"
> > X-Cron-Env: <SHELL=/bin/sh>
> > X-Cron-Env: <HOME=/root>
> > X-Cron-Env: <PATH=/usr/bin:/bin>
> > X-Cron-Env: <LOGNAME=root>
> >
> > /bin/sh: root: command not found
> > ^^^^^^^^^^^^
> > Deci e limpede ca la executatea scriptului, probabil ca nu
> > initializeaza o variabila si de eroarea in cauza!
> > Si inca ceva: scriptul ruleaza corect in consola daca sunt logat ca
> > root.
> >
> > Oricum, daca are cineva un hit, este binevenit.
> > Atasez in continuare si scriptul rescanscsi,pentru cazul in care se
> > prinde cineva mai rpd decit mine de unde apare aceasta eroare:
> >
> > #!/bin/bash
> > # Skript to rescan SCSI bus, using the
> > # scsi add-single-device mechanism
> > # (w) 98/03/19 Kurt Garloff <[EMAIL PROTECTED]> (c) GNU GPL
> >
> > # Return hosts. /proc/scsi/HOSTADAPTER/? must exist
> > findhosts ()
> > {
> > hosts=
> > for name in /proc/scsi/*/?; do
> > name=${name#/proc/scsi/}
> > if test ! $name = scsi
> > then hosts="$hosts ${name#*/}"
> > echo "Host adapter ${name#*/} (${name%/*}) found."
> > fi
> > done
> > }
> >
> > # Test if SCSI device $host $channen $id $lun exists
> > # Outputs description from /proc/scsi/scsi, returns new
> > testexist ()
> > {
> > grepstr="scsi$host Channel: 0$channel Id: 0*$id Lun: 0$lun"
> > new=`cat /proc/scsi/scsi|grep -e"$grepstr"`
> > if test ! -z "$new"
> > then cat /proc/scsi/scsi|grep -e"$grepstr"
> > cat /proc/scsi/scsi|grep -A2 -e"$grepstr"|tail -2|pr -o4 -l1
> > fi
> > }
> >
> > # Perform search (scan $host)
> > dosearch ()
> > {
> > for channel in $channelsearch; do
> > for id in $idsearch; do
> > for lun in $lunsearch; do
> > new=
> > devnr="$host $channel $id $lun"
> > echo "Scanning for device $devnr ..."
> > printf "OLD: "
> > testexist
> > if test ! -z "$remove" -a ! -z "$new"
> > then echo "scsi remove-single-device $devnr" >/proc/scsi/scsi
> > echo "scsi add-single-device $devnr" >/proc/scsi/scsi
> > printf "\r\x1b[A\x1b[A\x1b[AOLD: "
> > testexist
> > if test -z "$new"; then printf "\rDEL: \r\n\n\n\n"; let rmvd+=1;
> > fi fi
> > if test -z "$new"
> > then printf "\rNEW: "
> > echo "scsi add-single-device $devnr" >/proc/scsi/scsi
> > testexist
> > if test -z "$new"; then printf "\r\x1b[A"; else let found+=1; fi
> > fi
> > done
> > done
> > done
> > }
> >
> >
> > # main
> > if test @$1 = @--help -o @$1 = @-h
> > then
> > echo "Usage: rescan-scsi-bus.sh [-l] [-w] [-c] [host [host
> > ...]]" echo " -l activates scanning for LUNs 0 .. 7 [default: 0]"
> > echo " -w enables scanning for device IDs 0 .. 15 [def.: 0 .. 7]"
> > echo " -r enables removing of devices [default: disabled]"
> > echo " -c enables scanning of channels 0 1 [default: 0]" echo "
> > If hosts are given, only these are scanned [default: all]" exit 0
> > fi
> >
> > # defaults
> > lunsearch="0"
> > idsearch="0 1 2 3 4 5 6 7"
> > channelsearch="0"
> > remove=""
> >
> > # Scan options
> > opt="$1"
> > while test ! -z "$opt" -a -z "${opt##-*}"; do
> > opt=${opt#-}
> > case "$opt" in
> > l) lunsearch="0 1 2 3 4 5 6 7" ;;
> > w) idsearch="0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15" ;;
> > c) channelsearch="0 1" ;;
> > r) remove=1 ;;
> > *) echo "Unknown option -$opt !" ;;
> > esac
> > shift
> > opt="$1"
> > done
> >
> > # Hosts given ?
> > if test @$1 = @; then findhosts; else hosts=$*; fi
> >
> > declare -i found=0
> > declare -i rmvd=0
> > for host in $hosts; do dosearch; done
> > echo "$found new device(s) found. "
> > echo "$rmvd device(s) removed. "
> >
> >
> > Regards,
> >
> > Alex
> > ---
> > Pentru dezabonare, trimiteti mail la
> > [EMAIL PROTECTED] cu subiectul 'unsubscribe rlug'.
> > REGULI, arhive si alte informatii: http://www.lug.ro/mlist/
---
Pentru dezabonare, trimiteti mail la
[EMAIL PROTECTED] cu subiectul 'unsubscribe rlug'.
REGULI, arhive si alte informatii: http://www.lug.ro/mlist/