The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"cron последний день месяца"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"cron последний день месяца"
Сообщение от L emailИскать по авторуВ закладки on 24-Авг-04, 12:03  (MSK)
привет олл!
скажет кто, как в crontab'e воткнуть выполнение чего-то-там в ПОСЛЕДНИЙ ДЕНЬ КАЖДОГО МЕСЯЦА (т.е. если напишу дату 31 - тогда в феврале 28 выполнения не будет ???)
  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "cron последний день месяца"
Сообщение от Novikov Искать по авторуВ закладки(ok) on 24-Авг-04, 13:07  (MSK)
>привет олл!
>скажет кто, как в crontab'e воткнуть выполнение чего-то-там в ПОСЛЕДНИЙ ДЕНЬ КАЖДОГО
>МЕСЯЦА (т.е. если напишу дату 31 - тогда в феврале 28
>выполнения не будет ???)

0 0 28 2 * /path/to/chego/to/tam
0 0 31 1,3,5,7,8,10,12 * /path/to/chego/to/tam
0 0 30 4,6,9,11 * /path/to/chego/to/tam

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "cron последний день месяца"
Сообщение от L Искать по авторуВ закладки on 24-Авг-04, 13:11  (MSK)
спа, но сильно заморочено :)
честно, просто шедевр...
  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "cron последний день месяца"
Сообщение от вася Искать по авторуВ закладки(??) on 24-Авг-04, 13:14  (MSK)

>0 0 28 2 * /path/to/chego/to/tam
>0 0 31 1,3,5,7,8,10,12 * /path/to/chego/to/tam
>0 0 30 4,6,9,11 * /path/to/chego/to/tam

но по такой схеме в последний день февраля високосного года будет баг

  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "cron последний день месяца"
Сообщение от Hammer emailИскать по авторуВ закладки(??) on 24-Авг-04, 13:15  (MSK)
>>привет олл!
>>скажет кто, как в crontab'e воткнуть выполнение чего-то-там в ПОСЛЕДНИЙ ДЕНЬ КАЖДОГО
>>МЕСЯЦА (т.е. если напишу дату 31 - тогда в феврале 28
>>выполнения не будет ???)
>
>0 0 28 2 * /path/to/chego/to/tam
>0 0 31 1,3,5,7,8,10,12 * /path/to/chego/to/tam
>0 0 30 4,6,9,11 * /path/to/chego/to/tam

0 0 28,29 2 * /path/to/chego/to/tam
0 0 31 1,3,5,7,8,10,12 * /path/to/chego/to/tam
0 0 30 4,6,9,11 * /path/to/chego/to/tam

  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "cron последний день месяца"
Сообщение от Lucky emailИскать по авторуВ закладки(??) on 24-Авг-04, 13:38  (MSK)
а не проще было бы 1 числа в 0 часов 1 минуту следующего дергать? или надо приницпиально последний?


  Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "cron последний день месяца"
Сообщение от L Искать по авторуВ закладки on 24-Авг-04, 13:41  (MSK)
>а не проще было бы 1 числа в 0 часов 1 минуту
>следующего дергать? или надо приницпиально последний?

неа, надо в последние 30 минут следы затирать :)
типа, перед читской логов

  Рекомендовать в FAQ | Cообщить модератору | Наверх

8. "cron последний день месяца"
Сообщение от Swap Искать по авторуВ закладки on 24-Авг-04, 13:42  (MSK)
>а не проще было бы 1 числа в 0 часов 1 минуту
>следующего дергать? или надо приницпиально последний?

ну мы же не ищем легких путей :)


  Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "cron последний день месяца"
Сообщение от Brainbug Искать по авторуВ закладки(ok) on 24-Авг-04, 13:40  (MSK)
>привет олл!
>скажет кто, как в crontab'e воткнуть выполнение чего-то-там в ПОСЛЕДНИЙ ДЕНЬ КАЖДОГО
>МЕСЯЦА (т.е. если напишу дату 31 - тогда в феврале 28
>выполнения не будет ???)

Postav v skripte proverku:
#!/bin/sh

now=`date +%G%m%d`
day=`date +%d`
year=`date +%G`
month=`date +%m`
day_tomorrow=$((`date +%d`+1))
tomorrow=`date --date="$year-$month-$day_tomorrow" +%G%m%d`
if [ $(($tomorrow-$now)) -gt 1 ]; then
        echo "Poslednij den"
fi
exit 0

  Рекомендовать в FAQ | Cообщить модератору | Наверх

9. "cron последний день месяца"
Сообщение от lavr emailИскать по авторуВ закладки on 24-Авг-04, 13:56  (MSK)
>привет олл!
>скажет кто, как в crontab'e воткнуть выполнение чего-то-там в ПОСЛЕДНИЙ ДЕНЬ КАЖДОГО
>МЕСЯЦА (т.е. если напишу дату 31 - тогда в феврале 28
>выполнения не будет ???)

используй gnu'сный date (в BSD можно поставить из портов или самостоятельно скомпилить):

1 0 28-31 * * [ "$(/path/date +%d -d +1day)" -eq "01" ] && /path/to/script args

или

1 0 28-31 * * [ "$(/path/gdate -d tomorrow '+%d')" -eq "01" ] && /path/to/script args

где date или gdate - гнусный date из coreutils: ftp://ftp.gnu.org/gnu/coreutils или для xBSD из портов coreutils

первые два поля 1 0 (минуты и часы установить по своему усмотрению)

[ $(если_следующий_день) равен "01" ] && выполняем_срипт аргументы

  Рекомендовать в FAQ | Cообщить модератору | Наверх

10. "cron последний день месяца"
Сообщение от Hammer emailИскать по авторуВ закладки(??) on 24-Авг-04, 14:10  (MSK)
>>привет олл!
>>скажет кто, как в crontab'e воткнуть выполнение чего-то-там в ПОСЛЕДНИЙ ДЕНЬ КАЖДОГО
>>МЕСЯЦА (т.е. если напишу дату 31 - тогда в феврале 28
>>выполнения не будет ???)
>
>используй gnu'сный date (в BSD можно поставить из портов или самостоятельно скомпилить):
>
>
>1 0 28-31 * * [ "$(/path/date +%d -d +1day)" -eq "01"
>] && /path/to/script args
>
>или
>
>1 0 28-31 * * [ "$(/path/gdate -d tomorrow '+%d')" -eq "01"
>] && /path/to/script args
>
>где date или gdate - гнусный date из coreutils: ftp://ftp.gnu.org/gnu/coreutils или для
>xBSD из портов coreutils
>
>первые два поля 1 0 (минуты и часы установить по своему усмотрению)
>
>
>[ $(если_следующий_день) равен "01" ] && выполняем_срипт аргументы

Не, не ищем мы лёгких путей! :))

  Рекомендовать в FAQ | Cообщить модератору | Наверх

11. "cron последний день месяца"
Сообщение от lavr emailИскать по авторуВ закладки on 24-Авг-04, 14:55  (MSK)
>>>привет олл!
>>>скажет кто, как в crontab'e воткнуть выполнение чего-то-там в ПОСЛЕДНИЙ ДЕНЬ КАЖДОГО
>>>МЕСЯЦА (т.е. если напишу дату 31 - тогда в феврале 28
>>>выполнения не будет ???)
>>
>>используй gnu'сный date (в BSD можно поставить из портов или самостоятельно скомпилить):
>>
>>
>>1 0 28-31 * * [ "$(/path/date +%d -d +1day)" -eq "01"
>>] && /path/to/script args
>>
>>или
>>
>>1 0 28-31 * * [ "$(/path/gdate -d tomorrow '+%d')" -eq "01"
>>] && /path/to/script args
>>
>>где date или gdate - гнусный date из coreutils: ftp://ftp.gnu.org/gnu/coreutils или для
>>xBSD из портов coreutils
>>
>>первые два поля 1 0 (минуты и часы установить по своему усмотрению)
>>
>>
>>[ $(если_следующий_день) равен "01" ] && выполняем_срипт аргументы
>
>Не, не ищем мы лёгких путей! :))

???
Из всего что я выше посмотрел - использование гнусного date самый простейший, конкретный и изящный вариант

  Рекомендовать в FAQ | Cообщить модератору | Наверх

12. "cron последний день месяца"
Сообщение от Anastas Искать по авторуВ закладки(??) on 24-Авг-04, 15:15  (MSK)
>привет олл!
>скажет кто, как в crontab'e воткнуть выполнение чего-то-там в ПОСЛЕДНИЙ ДЕНЬ КАЖДОГО
>МЕСЯЦА (т.е. если напишу дату 31 - тогда в феврале 28
>выполнения не будет ???)

например это в кроне должно сработать в 23:30 но только в последний день

30 23 * * * root   if ( `date -v +1d "+%d"` == 01 ) твоя_команда

  Рекомендовать в FAQ | Cообщить модератору | Наверх

13. "cron последний день месяца"
Сообщение от lavr emailИскать по авторуВ закладки on 24-Авг-04, 15:22  (MSK)
>>привет олл!
>>скажет кто, как в crontab'e воткнуть выполнение чего-то-там в ПОСЛЕДНИЙ ДЕНЬ КАЖДОГО
>>МЕСЯЦА (т.е. если напишу дату 31 - тогда в феврале 28
>>выполнения не будет ???)
>
>например это в кроне должно сработать в 23:30 но только в последний
>день
>
>30 23 * * * root   if ( `date -v
>+1d "+%d"` == 01 ) твоя_команда

1) зачем каждый день выполнять
2) это исключительно формат даты от xBSD OSes

ну а решение вобщем правильное

  Рекомендовать в FAQ | Cообщить модератору | Наверх

14. "cron последний день месяца"
Сообщение от L Искать по авторуВ закладки on 24-Авг-04, 15:27  (MSK)
последнее решение рулит!
всем спа! спокойной ночи, малыши :)
  Рекомендовать в FAQ | Cообщить модератору | Наверх

15. "cron последний день месяца"
Сообщение от Anastas Искать по авторуВ закладки(??) on 24-Авг-04, 15:57  (MSK)
>>>привет олл!
>>>скажет кто, как в crontab'e воткнуть выполнение чего-то-там в ПОСЛЕДНИЙ ДЕНЬ КАЖДОГО
>>>МЕСЯЦА (т.е. если напишу дату 31 - тогда в феврале 28
>>>выполнения не будет ???)
>>
>>например это в кроне должно сработать в 23:30 но только в последний
>>день
>>
>>30 23 * * * root   if ( `date -v
>>+1d "+%d"` == 01 ) твоя_команда
>
>1) зачем каждый день выполнять

просто даю направление, а не готовое решение
как уже писалось, ведь "мы не ищем ..."

>2) это исключительно формат даты от xBSD OSes

"настоящие пацаны" только ЭТО и должны использовать
:))

>
>ну а решение вобщем правильное

ну спасибо  :)

  Рекомендовать в FAQ | Cообщить модератору | Наверх

16. "cron последний день месяца"
Сообщение от Nikolai emailИскать по авторуВ закладки(??) on 17-Сен-04, 20:27  (MSK)
>>>>привет олл!
>>>>скажет кто, как в crontab'e воткнуть выполнение чего-то-там в ПОСЛЕДНИЙ ДЕНЬ КАЖДОГО
>>>>МЕСЯЦА (т.е. если напишу дату 31 - тогда в феврале 28
>>>>выполнения не будет ???)
>>>
>>>например это в кроне должно сработать в 23:30 но только в последний
>>>день
>>>
>>>30 23 * * * root   if ( `date -v
>>>+1d "+%d"` == 01 ) твоя_команда
>>
>>1) зачем каждый день выполнять
>
>просто даю направление, а не готовое решение
>как уже писалось, ведь "мы не ищем ..."
>
>>2) это исключительно формат даты от xBSD OSes
>
>"настоящие пацаны" только ЭТО и должны использовать
>:))
>
>>
>>ну а решение вобщем правильное
>
>ну спасибо  :)
что то у меня не получается, сделал скрипт month.sh
-----------------cut----------------------------
#!/bin/sh
DATE=`date -v +1d "+%d"`
NUM=18
if $DATE == $NUM
then
echo "Ok end of monthly!"
/.1/squid/sbin/squid -k rotate
/usr/local/bin/sarg
fi
-----------------end cut------------------------
Выдаёт
18: not found
Вобщем, что такое не пойму, и как с этим бороться?


  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру