Код: Выделить всё
[***@srv0 public_html]$ sh /home/iqhoster/domains/***/public_html/scripts/billing/check.cron.run.sh
И пусто, в логах нечего нет, путь к интерпретатору - ок.
Код: Выделить всё
[***@srv0 public_html]$ sh /home/iqhoster/domains/***/public_html/scripts/billing/check.cron.run.sh
Код: Выделить всё
sh -xv /home/iqhoster/domains/***/public_html/scripts/billing/check.cron.run.sh
Код: Выделить всё
#!/bin/sh
# $1 - /path/to/php.ini
# $2 - /path/to/php
# $3 - billing.hostname.su
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin
+ PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin
TMPDIR="${TMPDIR:="/tmp"}"
+ TMPDIR=/tmp
TmpFile="$TMPDIR/jbs.$$.txt"
+ TmpFile=/tmp/jbs.976558.txt
# проверяем что запись во временный файл возможна
if ! echo -n > $TmpFile >/dev/null 2>&1
then
echo "cannot create tmp file = $TmpFile"
exit 1;
fi
+ echo -n
#find php
if test -x "$2" -a -f "$2"
then
echo $2 > $TmpFile
else
for cli in /usr/bin/php
do
test -x $cli && echo $cli > $TmpFile
done
fi
+ test -x '' -a -f ''
+ for cli in /usr/bin/php
+ test -x /usr/bin/php
+ echo /usr/bin/php
#------------------------------------------------
if ! test -s $TmpFile
then
echo "cannot find php interpretator"
echo 1;
fi
+ test -s /tmp/jbs.976558.txt
#------------------------------------------------
if test -f "$1"
then
export PHP_BIN="`cat $TmpFile` -c $1"
else
export PHP_BIN="`cat $TmpFile`"
fi
+ test -f ''
cat $TmpFile
++ cat /tmp/jbs.976558.txt
+ export PHP_BIN=/usr/bin/php
+ PHP_BIN=/usr/bin/php
rm -f $TmpFile
+ rm -f /tmp/jbs.976558.txt
#------------------------------------------------
# топаем в директорию со скриптами
ScriptsDir="`dirname $0`"
dirname $0
++ dirname /home/***/domains/hosting.lemon/public_html/scripts/billing/check.cron.run.sh
+ ScriptsDir=/home/***/domains/hosting.lemon/public_html/scripts/billing
if ! cd $ScriptsDir
then
echo "cannot change dir to $ScriptsDir"
exit 1;
fi
+ cd /home/***/domains/hosting.lemon/public_html/scripts/billing
ScriptsDir="`pwd`"
pwd
++ pwd
+ ScriptsDir=/home/***/domains/hosting.lemon/public_html/scripts/billing
#------------------------------------------------
if test -n "$3"
then
echo "$3" > $TmpFile
else
# ищщем host.ini
for dir in ../../hosts/*
do
if test -f $dir/host.ini
then
eval `cat $dir/host.ini | grep 'HostsIDs=' | awk -F ',' '{print $1}' | tr -d '"' `
echo $HostsIDs > $TmpFile
fi
done
fi
+ test -n ''
+ for dir in '../../hosts/*'
+ test -f ../../hosts/billing/host.ini
+ for dir in '../../hosts/*'
+ test -f ../../hosts/hosting/host.ini
+ for dir in '../../hosts/*'
+ test -f ../../hosts/hosting.lemon/host.ini
cat $dir/host.ini | grep 'HostsIDs=' | awk -F ',' '{print $1}' | tr -d '"'
++ tr -d '"'
++ awk -F , '{print $1}'
++ grep HostsIDs=
++ cat ../../hosts/hosting.lemon/host.ini
+ eval HostsIDs=hosting.lemon
HostsIDs=hosting.lemon
++ HostsIDs=hosting.lemon
+ echo hosting.lemon
+ for dir in '../../hosts/*'
+ test -f ../../hosts/root/ho
Код: Выделить всё
st.ini
#------------------------------------------------
if ! test -s $TmpFile
then
echo "cannot find billing hostname"
exit 1;
else
HostsID=`cat $TmpFile`
rm -f $TmpFile
fi
+ test -s /tmp/jbs.976558.txt
cat $TmpFile
++ cat /tmp/jbs.976558.txt
+ HostsID=hosting.lemon
+ rm -f /tmp/jbs.976558.txt
#------------------------------------------------
# достаём корневую директорию биллинга
RootDir=`dirname $ScriptsDir`
dirname $ScriptsDir
++ dirname /home/***/domains/hosting.lemon/public_html/scripts/billing
+ RootDir=/home/***/domains/hosting.lemon/public_html/scripts
RootDir=`dirname $RootDir`
dirname $RootDir
++ dirname /home/***/domains/hosting.lemon/public_html/scripts
+ RootDir=/home/***/domains/hosting.lemon/public_html
#------------------------------------------------
#------------------------------------------------
marker="$RootDir/hosts/$HostsID/tmp/TaskLastExecute.txt"
+ marker=/home/***/domains/hosting.lemon/public_html/hosts/hosting.lemon/tmp/TaskLastExecute.txt
# проверяем, запущен скрипт или нет
if [ ! `ps auxww | grep "sh demon.sh $HostsID" | grep -v grep | wc -l` -gt 0 ]
then
rm -f $marker
# let Mortal Combat begin! =)
sh demon.sh $HostsID $RootDir >> $RootDir/demon.log &
fi
ps auxww | grep "sh demon.sh $HostsID" | grep -v grep | wc -l
++ wc -l
++ grep -v grep
++ grep 'sh demon.sh hosting.lemon'
++ ps auxww
+ '[' '!' 0 -gt 0 ']'
+ rm -f /home/***/domains/hosting.lemon/public_html/hosts/hosting.lemon/tmp/TaskLastExecute.txt
#------------------------------------------------
#------------------------------------------------
# проверяем, как давно выполнялось последнее задание
if test -f $marker
then
# определяем время на час назад, в разных системах по разному
if [ `uname` = "Linux" ]
then
params="--date='1 hour ago'"
else
params="-v-1H"
fi
executed=`cat $marker`
if [ `date $params +%Y%m%d%H%M%S` -ge $executed ]
then
echo "" >> $RootDir/demon.log
echo "`date +%Y-%m-%d` in `date +%H:%M:%S`: php-cgi auto killed, no executed tasks more than one hour" >> $RootDir/demon.log
echo "" >> $RootDir/demon.log
killall `basename $PHP_BIN`
fi
fi
+ test -f /home/***/domains/hosting.lemon/public_html/hosts/hosting.lemon/tmp/TaskLastExecute.txt
# delete tmp file
rm -f $TmpFile
+ rm -f /tmp/jbs.976558.txt
Код: Выделить всё
if [ ! `ps auxww | grep "sh demon.sh $HostsID" | grep -v grep | wc -l` -gt 0 ]
then
rm -f $marker
# let Mortal Combat begin! =)
sh demon.sh $HostsID $RootDir >> $RootDir/demon.log &
fi
Код: Выделить всё
date: extra operand `ago'
Try `date --help' for more information.
.../scripts/billing/check.cron.run.sh: line 106: [: -ge: unary operator expected
Код: Выделить всё
cat /tmp/a.sh
#!/bin/sh -xv
if [ `uname` = "Linux" ]
then
params=--date="1 hour ago"
else
params="-v-1H"
fi
if [ `date $params +%Y%m%d%H%M%S` -ge 12345 ]
then
echo OK
fi
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 4 гостя