Linux за българи: Форуми

Linux секция за начинаещи => Настройка на програми => Темата е започната от: reg48 в Mar 04, 2012, 12:38



Титла: Изпълнение на скрипт през произволен период - как?
Публикувано от: reg48 в Mar 04, 2012, 12:38
Здравейте, интересува ме има ли начин да се изпълнява скрипт през произволен перион от време, но в предварително зададен интервал.
Примерно да се изпълнва в интервал 1-7дни, не по-често от 1Д и не по-рядко от 7Д.
Благодаря.


Титла: Re: Изпълнение на скрипт през произволен период - как?
Публикувано от: AMD в Mar 04, 2012, 13:58
crontab


Титла: Re: Изпълнение на скрипт през произволен период - как?
Публикувано от: sickmind в Mar 04, 2012, 14:24
Здр.
Ето един пример за това в кронтаб'а (трябва да си го едитнеш за да тръгва веднъж седмично и изчакването е да е до седмица):
1 0 * * * /bin/sleep `/usr/bin/expr $RANDOM \% 600` ; /usr/local/bin/mycommand
(скрипта обаче трябва да прави проверка дали вече е минавал тозиден.. например да тачва някакъв файл и след това да го преверява и ако съществува файла за този ден да exit'ва... или нещо подобно де, мн варианти трябва да има)
Поздрави.


едит. а можеш и цялото това нещо до го вкараш в скрипта и крона да го пали всеки ден или нешо подобно...


Титла: Re: Изпълнение на скрипт през произволен период - как?
Публикувано от: reg48 в Mar 04, 2012, 22:51
Благодаря отново. Ще се опитам да го направя, но определено ми звучи да е над моите способности. Важното е, че някак си може да стане с $RANDOM.


Титла: Re: Изпълнение на скрипт през произволен период - как?
Публикувано от: Gogo_SZ в Mar 05, 2012, 01:00
Никакъв проблем но не през cron ами с anacron.
Прочети тук:
http://manpages.ubuntu.com/manpages/natty/man8/anacron.8.html


Титла: Re: Изпълнение на скрипт през произволен период - как?
Публикувано от: reg48 в Mar 05, 2012, 02:17
Gogo_SZ не видях опция за задаване на интервал, ще трябва да се поразтърся из нета.

До момента най-простичко би могло да се реши така:
Код:
#!/bin/bash
# Grab a random value between 24-168.
delay=$[${RANDOM}%144+24]
sleep $delay
/path to command
/home/test.sh
В този вид изчакването е в секунди, но може да се направи и в други единици.

p.p. Всъщност, ако вкарам скрипта в този си вид в състемата при стартиране, дали тя няма да зависне докато той не приключи?


Титла: Re: Изпълнение на скрипт през произволен период - как?
Публикувано от: Gogo_SZ в Mar 05, 2012, 22:52
Ето тук има пример (за минутите) но и за деня е по същия начин...

http://www.thegeekstuff.com/2011/05/anacron-examples/


Титла: Re: Изпълнение на скрипт през произволен период - как?
Публикувано от: reg48 в Mar 06, 2012, 11:24
Благодаря.