Решено: cron errors (пинает рабочий скрипт)

На самом деле это единственный раздел про unix на этом форуме

Модераторы: /dev/random, Модераторы разделов

distress
Сообщения: 84
ОС: RHEL5

Решено: cron errors

Сообщение distress »

приветствую.

есть такой скрипт для архивирования логов. сжать все файлы кроме сегодняшней даты. из консоли работает без ошибок.

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

cd /var/logs/sql; /usr/bin/xz -z -9 -e $(/bin/ls | fgrep -v ".xz" | /bin/fgrep -v $(/bin/date +%Y-%m-%d))


добавляю в crontab

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

* * * * * cd /var/logs/sql; /usr/bin/xz -z -9 -e $(/bin/ls | fgrep -v ".xz" | /bin/fgrep -v $(/bin/date +%Y-%m-%d))


и тут внезапно... ошибка:

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

/bin/sh: -c: line 0: unexpected EOF while looking for matching `)'
/bin/sh: -c: line 1: syntax error: unexpected end of file


wtf? :rolleyes:
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5404
ОС: Gentoo

Re: Решено: cron errors

Сообщение /dev/random »

Я вижу две открывающие скобки - перед /bin/ls и перед /bin/date - и только одну закрывающую, в конце.
Спасибо сказали:
distress
Сообщения: 84
ОС: RHEL5

Re: Решено: cron errors

Сообщение distress »

/dev/random писал(а):
15.10.2009 15:08
Я вижу две открывающие скобки - перед /bin/ls и перед /bin/date - и только одну закрывающую, в конце.


скобки на самом деле есть везде где нужно... это я криво скопипастил. пост поправил
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5404
ОС: Gentoo

Re: Решено: cron errors

Сообщение /dev/random »

distress писал(а):
15.10.2009 15:11
это я криво скопипастил

Может, не только на форум, но и в кронтаб тоже?
Спасибо сказали:
distress
Сообщения: 84
ОС: RHEL5

Re: Решено: cron errors

Сообщение distress »

/dev/random писал(а):
15.10.2009 16:38
Может, не только на форум, но и в кронтаб тоже?

хорошо бы

но нет там всё правильно :(
Спасибо сказали:
distress
Сообщения: 84
ОС: RHEL5

Re: Решено: cron errors

Сообщение distress »

альтернативный вариант без скобок:

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

* * * * * cd /var/logs/sql; d=`/bin/date +%Y-%m-%d`; /usr/bin/xz -z -9 -e `/bin/ls | /bin/fgrep -v ".xz" | /bin/fgrep -v $d`


ошибка:

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

/bin/sh: -c: line 0: unexpected EOF while looking for matching ``'
/bin/sh: -c: line 1: syntax error: unexpected end of file
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Решено: cron errors

Сообщение sash-kan »

насколько помню, чего-то там нужно эскейпить. знак процента, кажется.

угу, именно процент:
http://www.hcidata.info/crontab.htm

p.s. кстати, «%Y-%m-%d» эквивалентно «%F».
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
distress
Сообщения: 84
ОС: RHEL5

Re: Решено: cron errors

Сообщение distress »

sash-kan писал(а):
15.10.2009 21:42
насколько помню, чего-то там нужно эскейпить. знак процента, кажется.
...


невероятно! теперь всё работет. вот так:

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

1 0 * * * cd /var/logs/sql; /usr/bin/xz $(/bin/ls | fgrep -v ".xz" | /bin/fgrep -v $(/bin/date +\%Y-\%m-\%d))


спасибо!
Спасибо сказали:
Аватара пользователя
t.t
Бывший модератор
Сообщения: 7390
Статус: думающий о вечном
ОС: Debian, LMDE

Re: Решено: cron errors

Сообщение t.t »

distress писал(а):
16.10.2009 12:05
/usr/bin/xz $(/bin/ls | fgrep -v ".xz" | /bin/fgrep -v $(/bin/date +\%Y-\%m-\%d))
find -maxdepth 1 -daystart -ctime 0 -a ! -name \*.xz | xargs /usr/bin/xz
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали: