помогите с cron

Изображение пользователя tswet.

Необходимо расписание, которое будет выполнять команду по воскресеньям через неделю ... то есть, первый раз - в это воскресенье - следующий раз - в воскресенье, которое будет через 14 дней :)
Возможно ли это? ман весь уже искурил, ничего в голову не пришло... или я хочу невозможного ...
Спасибо заранее!

0
Xenomorph - 20 Май, 2010 - 16:02
Изображение пользователя Xenomorph.

Как вариант - использовать anacron.

0
Жюстина - 20 Май, 2010 - 18:00
Изображение пользователя Жюстина.

Если через неделю, то одно воскресенье число чётное, а следующее воскресенье - нечётное, я не уверена, но может быть сработает.

0 1 */2 * 7 root /.../command.sh

По мне так это: час ночи каждое воскресенье, если число чётное; но скорее всего это: час ночи каждого чётного числа и любое воскресенье. Наверное надо как-то проверить.

Я тоже ничего кроме такого придумать не смогла.

Можно ещё извращённо, узнать все числа нужных воскресений, и для каждого месяца написать правило. :)

Или запускать кроном скрипт каждое воскресенье, который будет проверять чётность числа, и если чётно то скрипт запустит дальше всё остальное, ну а если нечётное, то не запустит.

В общем,.. возможно. :D

0
tswet - 20 Май, 2010 - 18:03
Изображение пользователя tswet.

спасибо :) но все-таки это в час ночи каждый четный день + воскресенье

0
tswet - 22 Май, 2010 - 10:52
Изображение пользователя tswet.

А можно скриптик с условием проверки четности воскресенья озвучить? :)

+2
Жюстина - 22 Май, 2010 - 12:44
Изображение пользователя Жюстина.

Кашшно можно!

#!/bin/bash
day="`date +%d`"; # получение цифирки дня
ex="`expr $day % 2`"; # остаток от деления на 2
if [ $ex == "0" ]
then
  # день чётный
  echo "Выполняется что-то умное по чётным дням";
else
  # день не чётный
  echo "Выполняется по не чётным дням";
fi

0
tswet - 23 Май, 2010 - 11:18
Изображение пользователя tswet.

Спасибо! По аналогии написал свой скриптик:

#!/bin/bash
#получение циферки текущей недели
week="`date +%W`"
#остаток от деления на 2 числа недели
rests="`expr $week % 2`"
#условие сравнения выходного статуса от деления
if [ $rests == "0" ]
then
   # если неделя четная
   echo "одна команда"
else
   # если неделя нечетная
   echo "другая команда"
fi

0
Жюстина - 23 Май, 2010 - 11:24
Изображение пользователя Жюстина.

Ну вот и получилось, а то: ...невозможного... :)

0
tswet - 23 Май, 2010 - 11:46
Изображение пользователя tswet.

ага :) с вашей помощью

0
Жюстина - 23 Май, 2010 - 12:03
Изображение пользователя Жюстина.

Думала date +%W покажет номер недели относительно месяца, а оно показывает годовое...

0
tswet - 23 Май, 2010 - 12:16
Изображение пользователя tswet.

вот это как раз мне и нужно было :)

0
tswet - 25 Май, 2010 - 11:28
Изображение пользователя tswet.

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

а вот отображения в логах кириллицы совсем нет?
вместо русских буковок какие-то циферки :)
лог файл не знает кодировку текущую?

0
Жюстина - 25 Май, 2010 - 11:23
Изображение пользователя Жюстина.

echo "Огогошеньки" >> /var/log/syslog

У меня это хорошо сработало...

0
tswet - 25 Май, 2010 - 11:30
Изображение пользователя tswet.

так, что-то я не понимаю ... вчера с двух станций логи с кириллицей отображались какими-то цифрами с дробями :) магнитные бури? сегодня все работает ... теперь уже интересно, как вернуть назад эти циферки и что привело к этому :)

0
tswet - 25 Май, 2010 - 14:41
Изображение пользователя tswet.

вообщем, смысл вот в чем.
монтирую каталог netware с -y utf8 и -p 866 , так как работают на разделах новела и из доса и из винды.
так вот, rsync разделов проходит успешно, но вот логи не воспринимают кодировку досовскую кириллицы. нельзя задать формат перенаправления?

как я понял, логи записываются с кодировкой ASCII, которая не имеет поддержки кириллицы. буду курить ман по iconv

0
knuckles - 25 Май, 2010 - 14:48

Может 1251 попробовать вместо 866?

0
tswet - 25 Май, 2010 - 15:19
Изображение пользователя tswet.

не, не получится :) совсем всю кодировку сбивает ... все, тема закрыта :) всем спасибо. добавил в fstab рядом с defaults locale=ru_RU.utf8
логи теперь работают с кириллицей!

0
tswet - 25 Май, 2010 - 19:49
Изображение пользователя tswet.

данное действие работает только когда монтируем ntfs ... что писать в ext3 - понятия не имею :(

-1
Гость - 3 Декабрь, 2015 - 10:33

0 1 * * 1-7/2 root /command - в час ночи, каждую нечетную неделю
0 1 * * 2-7/2 root /command - в час ночи, каждую четную неделю

Отправить комментарий

CAPTCHA на основе изображений
Введите цифры