Модераторы: powerfox, ZeeLax

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Добавление скриптов в cron, как сделать? 
:(
    Опции темы
BobiKK
Дата 4.2.2006, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 655
Регистрация: 1.12.2005
Где: Essen, Deutschlan d

Репутация: 1
Всего: 16



Есть задачка.
Имеется bash-скрипт, который переписывает католог со всеми файлами на другой винт. Короче, бэкап делает. Запускать по ночам вручную - глупо, а как запихнуть это чудо в cron - без малейшего понятия.
Подскажите, плиз.
PM MAIL   Вверх
Alexandr87
Дата 4.2.2006, 13:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


дыкий псых
***


Профиль
Группа: Завсегдатай
Сообщений: 1459
Регистрация: 27.11.2004
Где: Алматы, Казахстан

Репутация: 2
Всего: 39



man cron - тебе в помощь.
А вообще синтаксис файла /etc/crontab простой
[минута] [час] [число] [месяц] [день недели] [от какого пользователя запускать] [что запускать]

* - интерпретируется, как любой. Есть там еще кое-какие навороты, но я ими вообще не пользовался.
например, исполнять каждую неделю в 00:00
0 0 * * 6 root /bin/cp from to
PS. между собой первые пять полей объединяются логическим и
Т.е. 0 0 1 * 6 - означает не первого числа или по-субботам, а именно только в субботу первого числа.

Это сообщение отредактировал(а) Alexandr87 - 4.2.2006, 13:05
PM Jabber   Вверх
BobiKK
Дата 4.2.2006, 13:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 655
Регистрация: 1.12.2005
Где: Essen, Deutschlan d

Репутация: 1
Всего: 16



Атас smile
Пасиба, пойду протестю
PM MAIL   Вверх
bilbobagginz
Дата 4.2.2006, 15:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 113
Всего: 317



если не используется в системе /etc/crontab, а личные таблицы в /var/spool/cron/ или как-то по другому, стоит просто посмотреть man crontab.

пока.



--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
BobiKK
Дата 4.2.2006, 18:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 655
Регистрация: 1.12.2005
Где: Essen, Deutschlan d

Репутация: 1
Всего: 16



/etc/crontab вроде используется: "Cron also searches for /etc/crontab and the files in the /etc/cron.d directory"
Дописываю в /etc/crontab файл строку "* * * * * username ./home/username/script"
Только запускается все через раз, а то и два и три. Нифига не понимаю.
PM MAIL   Вверх
Alexandr87
Дата 4.2.2006, 18:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


дыкий псых
***


Профиль
Группа: Завсегдатай
Сообщений: 1459
Регистрация: 27.11.2004
Где: Алматы, Казахстан

Репутация: 2
Всего: 39



А значения по-конкретнее можно. Если ты так и написал * * * * *. От это означает каждую минуту. Еще следует уточнить, что crond, не выполняет "пропущенные" задания, т.е. если в данный момент компьютер был выключен. Может по этому через раз. А вообще можешь посмотреть логи - там довольно всё понятно.
Еще одной причиной может быть то, что crond синхронизирует свою таблицу с crontab каждую минуту после выполнения назначенных на данную минуту операций.
Например, ты эксперементируешь, текущее время 18:01, и ты поставил задание на 18:02. Оно в этот день не выполниться, так как этот момент после синхронизации будет считаться пройденным.
Вроде сумбурно, но понятно.
PM Jabber   Вверх
BobiKK
Дата 4.2.2006, 20:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 655
Регистрация: 1.12.2005
Где: Essen, Deutschlan d

Репутация: 1
Всего: 16



* * * * * - так и хотел, протестить сначала. Что так, что указывая любые другие значения - все бестолку.
Где, кстати, логи глянуть? В var/log/ по cron'у ничего нет.
PM MAIL   Вверх
bilbobagginz
Дата 4.2.2006, 20:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 113
Всего: 317



во I-ых проверь, что крон у тя бежит.

а далее дело такое.
только root, что есссно правильно имеет право писать в /etc/crontab
остальные пользователи пишут свои таблицы в /var/spool/ или черт еще знает где.
поэтому, лучше, и правильнее всего использовать crontab -e
там не нужно указывать пользователя, потому как у каждого свое.
синтаксис похожий - убирая пользователя.
для нормальной ( и стандартной) работы крона, должна работать почтовая локальная рассылка.
т.е. программа mail должна доставлять почту на локальные почтовые ящики.

весь стандартный вывод скриптов крона отсылается по почте пользователю. если ты root, то иногда устанавливается другой спец. пользователь получающий почту root. тогда все шлется ему.
чтобы избежать отсылки - нужно либо не давать скрипту писать на stdout, либо (лучше) стандартный вывод выбрасывать, а вот стандартный канал ошибок переправлять на stdout.
example:
02 04 * * * /root/scripts/backup_apache > /dev/null
( минуты,час,день,месяц,день недели)

ежедневно в 04:02 будет запускаться этот скрипт. его стандартный вывод - в мусорку, а если будет вывод ошибок, придет почта.

насчет журналов - грепь с флажками -i ( case insensitive ): в Дебиан, напр записи крона именуются CRON, и находятся в /var/log/syslog

пока.





--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
BobiKK
Дата 5.2.2006, 12:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 655
Регистрация: 1.12.2005
Где: Essen, Deutschlan d

Репутация: 1
Всего: 16



Log:
"Feb 5 11:19:01 linux /usr/sbin/cron[5343]: (*system*) RELOAD (/etc/crontab)"

Crontab:
SHELL=/bin/sh
PATH=/usr/bin:/usr/sbin:/sbin:/bin:/usr/lib/news/bin
MAILTO=root
#
# check scripts in cron.hourly, cron.daily, cron.weekly, and cron.monthly
#
-*/15 * * * * root test -x /usr/lib/cron/run-crons && /usr/lib/cron/run-crons >/dev/null 2>&1
20 * * * * bobik /home/bobik/test_cron.sh >/dev/null 2>&1

Сейчас вообще не фурыкает. Маны все перелопатил, ничего интересного там не нашел
PM MAIL   Вверх
Alexandr87
Дата 5.2.2006, 12:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


дыкий псых
***


Профиль
Группа: Завсегдатай
Сообщений: 1459
Регистрация: 27.11.2004
Где: Алматы, Казахстан

Репутация: 2
Всего: 39



выложи свой crontab файл. И еще раз повторю - 1)для скриптов указывай абслютные пути, 2)по-сути записанное в данный момент времени задание, может начать выполняться не раньше, чем через две минуты.
PM Jabber   Вверх
BobiKK
Дата 5.2.2006, 12:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 655
Регистрация: 1.12.2005
Где: Essen, Deutschlan d

Репутация: 1
Всего: 16



Весь crontab выложил, см. вверху. Пути указываю абсолютные, от корня.Пробовал запускать через 10 минут, 20, без разницы.
PM MAIL   Вверх
bilbobagginz
Дата 5.2.2006, 15:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 113
Всего: 317



кронтаб выглядит легитимным.
.. я не понимаю:
в чем проблема ?
как ты решил проверять работает это или нет ?

весь стандартный вывод и канал ошибок ты бросаешь в топку... надеюсь ты это не забыл..




--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
Hamelionster
Дата 2.3.2009, 13:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 23.9.2008

Репутация: нет
Всего: нет



У меня вопрос..

Есть 2 скрипта..
кидаю из в крон.. а они не отрабатывают.

вот крон:

00 02 * * * /root/clear_old_log
00 10 * * * /sdc/****/backup_primus.sh
00 12 * * * root /sdc/****/backup_online.sh
_________________________________________________

Вот лог крона

Mar  2 11:58:01 primus_new crond[3599]: (root) RELOAD (cron/root)
Mar  2 12:00:01 primus_new crond[27156]: (root) CMD (root /sdc/*****/backup_online.sh)
Mar  2 12:00:12 primus_new crontab[27431]: (root) BEGIN EDIT (root)
Mar  2 12:00:20 primus_new crontab[27431]: (root) REPLACE (root)



судя по нему он запускается..
но не отрабатывает (((     

подскажите!!

Это сообщение отредактировал(а) Hamelionster - 2.3.2009, 13:14
PM MAIL ICQ   Вверх
bilbobagginz
Дата 2.3.2009, 17:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 113
Всего: 317



Цитата(Hamelionster @  2.3.2009,  13:13 Найти цитируемый пост)
подскажите!!

подсказка: поиск по FAQ.




--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
Hamelionster
Дата 2.3.2009, 18:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 23.9.2008

Репутация: нет
Всего: нет



смотрел я FAQ... так ничего нет ((( из-за чего поскажите хоть где искать?
PM MAIL ICQ   Вверх
bilbobagginz
Дата 2.3.2009, 23:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 113
Всего: 317



Цитата(Hamelionster @  2.3.2009,  18:34 Найти цитируемый пост)
смотрел я FAQ... так ничего нет ((( из-за чего поскажите хоть где искать? 

надо на дисплей смотреть. сверху есть разные иконки.  выбрать FAQ.
там посмотреть что есть, в Linux->Статьи  по-моему единственная статья там - o кронах.

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



--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
inside_pointer
Дата 3.3.2009, 00:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 344
Регистрация: 9.3.2008

Репутация: 8
Всего: 12



Код

[guest@station ~]$ crontab -l
# guest's crontab

PATH=/bin:/sbin:/usr/bin:/usr/sbin
HOME=/home/guest
DISPLAY=:0.0

0-59/5 * * * * cd $HOME/tmp/; ./timedate.sh;
[guest@station ~]$


в команде переход в каталог из которого запускать файл, иначе он запускает из $HOME

/home/guest/tmp/timedate.sh (с правами на выполнение)
Код

#!/bin/bash

# Выводит время на экран и сохраняет дату в файл.

# Say:  show message; Say hello
Say() {
    local MESSAGE="$*";
    
    if [ -z $DISPLAY ]; then
        return 1;
    fi;    
    kdialog --passivepopup "$MESSAGE" 3;
    return 0;
};

# Date:  show d.m.yyyy date; Date
Date() {
    date +%d.%m.%Y;
    return 0;
};

# Time:  show h:m:s time; Time
Time() {
    date +%H:%M:%S;
    return 0;
};

Say $(Time;);
Date >> date.txt;

exit 0;



date.txt сохраняется в /home/guest/tmp

переменные в файле крона не должны завершаться ; это касаемо переменных не внутри команд

Это сообщение отредактировал(а) inside_pointer - 3.3.2009, 00:42
PM MAIL   Вверх
igorgulko
Дата 1.10.2014, 12:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 30.9.2014

Репутация: нет
Всего: нет



Добрый день! Помогите пожалуйста в написании скрипта в crone, чтобы удалять не нужные папки ежемесячно, но оставлять папки последних дней месяца. 
PM MAIL   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Linux/UNIX: Oбщие вопросы"
nickless
Imple
nerezus

В тему здесь вопросы общие - не привязанные к определенному ПО или дистрибутиву BSD/Linux/UNIX.
Например вопросы о выборе ОС для определенных задач (но если Вы просто хотите узнать "Какой дистрибутив лучше", то для этого есть Клуб юнуксоидов).
Общие вопросы по shell-программированию тоже лучше задавать здесь.


  • Вопросы мобильной разработки тут
  • Вы должны соблюдать правила форума.
  • Помните: какой вопрос, такой и ответ. Прежде чем задать вопрос прочитайте вот эту статью на форуме CIT.
  • Оскорблять запрещается.
  • Религиозные войны в Религиозных войнах.
  • Общение "просто так" в Клубе юнуксоидов. В отличие от многих других разделов, здесь разрешается сдержанно оффтопить и юморить в тему.

За интересные статьи, находки, решения, программы и просто реальную помощь будут ставиться + в репу).


В данный момент этот раздел модерируют nerezus, nickless, powerfox, pythonwin, Imple и ZeeLax. Если вы хотите помочь нам, пишите в ПМ и мы обсудим.


Спасибо. И use UNIX or die; С уважением, nerezus, nickless, powerfox, pythonwin, Imple, ZeeLax.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | *NIX системы: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0995 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.