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/


Raspunde prin e-mail lui