The OpenNET Project / Index page

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




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
cron последний день месяца, !*! L, 24-Авг-04, 12:03  [смотреть все]
привет олл!
скажет кто, как в crontab'e воткнуть выполнение чего-то-там в ПОСЛЕДНИЙ ДЕНЬ КАЖДОГО МЕСЯЦА (т.е. если напишу дату 31 - тогда в феврале 28 выполнения не будет ???)
  • cron последний день месяца, !*! Novikov, 13:07 , 24-Авг-04 (1)
    >привет олл!
    >скажет кто, как в 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

  • cron последний день месяца, !*! Brainbug, 13:40 , 24-Авг-04 (6)
    >привет олл!
    >скажет кто, как в 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

  • cron последний день месяца, !*! lavr, 13:56 , 24-Авг-04 (9)
    >привет олл!
    >скажет кто, как в 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" ] && выполняем_срипт аргументы

    • cron последний день месяца, !*! Hammer, 14:10 , 24-Авг-04 (10)
      >>привет олл!
      >>скажет кто, как в 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" ] && выполняем_срипт аргументы

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

      • cron последний день месяца, !*! lavr, 14:55 , 24-Авг-04 (11)
        >>>привет олл!
        >>>скажет кто, как в 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 самый простейший, конкретный и изящный вариант

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

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

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

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

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

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

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

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

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

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

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

        ну спасибо  :)

        • cron последний день месяца, !*! Nikolai, 20:27 , 17-Сен-04 (16)
          >>>>привет олл!
          >>>>скажет кто, как в 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
          Вобщем, что такое не пойму, и как с этим бороться?





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

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