У меня проблемы с печатью результата следующего при запуске cron. У меня есть имя сценария в /usr/local/bin/test
#!/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
ARAW=`date +%y%m%d`
NAME=`hostname`
TODAY=`date '+%D %r'`
cd /directory/bar/foo/
VARR=$(ls -lrt /directory/bar/foo/ | tail -1 | awk {'print $8'} | ls -lrt `xargs` | grep something)
echo "Resolve2 Backup" > /home/user/result.txt
echo " " >> /home/user/result.txt
echo "$VARR" >> /home/user/result.txt
mail -s "Result $TODAY" [email protected] < /home/user/result.txt
Я настроил его в /etc/cron.d/test для запуска каждый час ночи:
00 1 * * * root /usr/local/bin/test
Когда я запускаю его вручную в командной строке
# /usr/local/bin/test
Я получаю полное значение. Но когда я позволяю cron выполнять работу, он никогда не отображает часть echo "$VARR" >> /home/user/result.txt
Есть идеи?
VARR=$(ls -lrt /directory/bar/foo/ | tail -1 | awk {'print $8'} | ls -lrt
xargs` | grep something)` — очень неаккуратная команда, и вам не следует пытаться анализировать выводls
. Какую информацию вы пытаетесь получить? - person arco444   schedule 27.07.2015ls -ltr `xargs`
удивительно странная/плохая (хотя, думаю, умная). - person Etan Reisner   schedule 27.07.2015