Ниже строки моего сценария bash не записывать вывод /tmp/DPE_SC/LoadUnits/ttx/bin/deasn9 -b -a cdrr6 $fnames
в файл $dst_dir"/"$fstat"-"$fnames".txt
, когда я выполняю команду crontab. Он создает только пустой файл с именем $dst_dir"/"$fstat"-"$fnames".txt
Уверен, что он корректно работает из командной строки вручную.Сценарий BASH не работает должным образом в crontab
/TMP/DPE_SC/LoadUnits/TTX/бен/deasn9 -b -a cdrr6 $ fnames> $ dst_dir/$ fstat- $ fnames.txt
Что моя ошибка?
Это весь мой сценарий
#/бен/Баш
экспорт PATH =/TMP/DPE_SC/LoadUnits/TTX/бен:/USR/местные/бен:/USR/бен :/бен:/USR/местные/SBIN:/USR/SBIN:/SBIN:/TMP/DPE_SC/Инструменты:/USR/X11R6/бен
src_dir =/зарядки/chsLog/готовый
dst_dir =/Core/cdr
кд $ src_dir
lastfile =
cat $dst_dir/last_cdr.txt
имена файлов =
ls -t | grep ^chsLog
fcounter = 1
для fnames в $ именах файлов
do fstat=`stat -c %y ${fnames} | cut -d '.' -f1` fstat=`echo ${fstat//[^0-9]/}` if [[ $fstat -gt $lastfile ]] then if [[ $fcounter -eq 1 ]] then echo $fstat > $dst_dir/last_cdr.txt let "fcounter = $fcounter + 1" fi deasn9 -b -a cdrr6 ${fnames} > $dst_dir/$fstat-${fnames}.txt fi done
Похоже, что/tmp/DPE_SC/LoadUnits/ttx/bin/deasn9 не работает в контексте crontab, но мы не сможем понять, почему он не работает, просто видя используемую линию чтобы запустить его ... –
@GordonDavisson Как ваш запрос, здесь я помещаю весь свой скрипт. Он отлично работает из cmdline. Но из crontab не работает только 'deasn9 -b -a cdrr6 $ {fnames}> $ dst_dir/$ fstat - $ {fnames} .txt' строка. Я вижу, что строка 'echo $ fstat> $ dst_dir/last_cdr.txt' отлично работала от crontab. – tsoomo
из stderr msg shell попытался открыть файл cdrr6.spe. Но cdrr6 должен быть частью опции deasn9 binary. Как я могу сказать, что оболочка cdrr6 является опцией deasn9? – tsoomo