Страница 1 из 1

cron

Добавлено: 2011-07-26 10:41:34
CLLLAgOB
Не работает скрипт (FreeBSD 8.1)

Код: Выделить всё

#!/bin/sh
new = `ps -ax | fgrep '27016' | fgrep 'hlds_i686' | awk '{ print $1 }' >> /share/servers/cs/csah/log/crlog `
$new
echo "=======================" >> /share/servers/cs/csah/log/crlog
В ручную запускается а через крон пусто
Запуск через крон в файле логов crlog только =======================
Запускаю руками вижу нужный (номера процессов)

Конфиг крона

Код: Выделить всё

# /etc/crontab - root's crontab for FreeBSD
#
# $FreeBSD: src/etc/crontab,v 1.33.2.1.4.1 2010/06/14 02:09:06 kensmith Exp $
#
SHELL=/usr/local/bin/bash
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/share/servers/scripts
#
#minute hour    mday    month   wday    who     command
#
*/5     *       *       *       *       root    /usr/libexec/atrun
#
# Save some entropy so that /dev/random can re-seed on boot.
*/11    *       *       *       *       operator /usr/libexec/save-entropy
#
# Rotate log files every hour, if necessary.
0       *       *       *       *       root    newsyslog
#
# Perform daily/weekly/monthly maintenance.
1       3       *       *       *       root    periodic daily
15      4       *       *       6       root    periodic weekly
30      5       1       *       *       root    periodic monthly
*       *       *       *       *       cs      /share/servers/scripts/test.sh

Re: cron

Добавлено: 2011-07-26 10:47:31
Bayerische
Пути в скрипте переделайте на абсолютные. Для всего.

Re: cron

Добавлено: 2011-07-26 10:51:56
CLLLAgOB
привет скрипт до такого вида результат не поменялся

Код: Выделить всё

#!/bin/sh
new = `/bin/ps -ax | /usr/bin/grep '27016' | /usr/bin/grep 'hlds_i686' | /usr/bin/awk '{ print $1 }' >> /share/servers/cs/csah/log/crlog `
$new
date >> /share/servers/cs/csah/log/crlog
echo "=======================" >> /share/servers/cs/csah/log/crlog

Re: cron

Добавлено: 2011-07-26 10:54:59
schizoid
пользователь cs имеет права на выполнение данного скрипта?

Re: cron

Добавлено: 2011-07-26 10:57:38
CLLLAgOB
Да в ручную запускаю от этого пользователя.
Пробовал в кроне от рута та же картина была *(

Re: cron

Добавлено: 2011-07-26 11:03:11
CLLLAgOB
Причем парадокс нашел какой.
если напишу в скрипте

Код: Выделить всё

ps -ax >> /share/servers/cs/csah/log/crlog
то крон отрабатывает а стоит дописать фильтр

Код: Выделить всё

ps -ax| grep чеголибо >> /share/servers/cs/csah/log/crlog
то уже не работает
но если написать

Код: Выделить всё

ps -ax| grep -v чеголибо >> /share/servers/cs/csah/log/crlog
работает но -v выдает все кроме

Re: cron

Добавлено: 2011-07-26 11:21:56
CLLLAgOB
Я понял в чем дело
вот смотрите
вывод с крона

Код: Выделить всё

73167  ??  S      0:00.00 grep hlds_i686
68706   0  R+    18:06.99 ./hlds_i686 -noipx -nojoy -game cstrike +maxplayers 2
68743   0  S+     1:46.03 ./hlds_i686 -noipx -nojoy -game cstrike +maxplayers 2
68751   0  S+     0:00.82 ./hlds_i686 -noipx -nojoy -game cstrike +maxplayers 2
72958   0  I+     0:00.00 ./hlds_i686 -noipx -nojoy -game cstrike +maxplayers 2
и тот же скрипт запускаю руками
вывод

Код: Выделить всё

68767   1  S+    19:27.03 ./hlds_i686 -noipx -nojoy -game cstrike +maxplayers 23 +port 27016 +ip abra.ru +sv_lan 0 +exec server.cfg +map de_dust2 -num_edicts 4096 -zone 1024
68769   1  S+     1:49.06 ./hlds_i686 -noipx -nojoy -game cstrike +maxplayers 23 +port 27016 +ip abra.ru +sv_lan 0 +exec server.cfg +map de_dust2 -num_edicts 4096 -zone 1024
68771   1  S+     0:00.81 ./hlds_i686 -noipx -nojoy -game cstrike +maxplayers 23 +port 27016 +ip abra.ru +sv_lan 0 +exec server.cfg +map de_dust2 -num_edicts 4096 -zone 1024
72779   1  I+     0:00.00 ./hlds_i686 -noipx -nojoy -game cstrike +maxplayers 23 +port 27016 +ip abra.ru +sv_lan 0 +exec server.cfg +map de_dust2 -num_edicts 4096 -zone 1024
не хватает буфера похоже чтобы всю длину строчки запомнить.
Как можно это исправить?

Re: cron

Добавлено: 2011-07-26 12:35:29
CLLLAgOB
я прописал ps -axw стало больше прописываться при обработке в кроне но все равно "съедается" часть текста (но то что мне нужно отображается)
Кто скажет почему так когда руками запускаешь даже просто ps -ax прописывается весь текст а через крон часть?!