Автор Тема: Изпълнение на скрипт през произволен период - как?  (Прочетена 1057 пъти)

reg48

  • Напреднали
  • *****
  • Публикации: 52
    • Профил
    • WWW
Здравейте, интересува ме има ли начин да се изпълнява скрипт през произволен перион от време, но в предварително зададен интервал.
Примерно да се изпълнва в интервал 1-7дни, не по-често от 1Д и не по-рядко от 7Д.
Благодаря.
Активен

AMD

  • Напреднали
  • *****
  • Публикации: 873
  • Distribution: Calculate Linux Scratch 64 / Alt Linux Centaurus 6.0 64
  • Window Manager: Gnome 2.32/3.2 XFCE 4.8/4.10-git
  • AMD Athlon64/Sempron64 4000+Dual Core/3400+
    • Профил
Активен

Господи моля те пази ме от ламерите, от хакерите и сам мога да се пазя.

sickmind

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


едит. а можеш и цялото това нещо до го вкараш в скрипта и крона да го пали всеки ден или нешо подобно...
« Последна редакция: Mar 04, 2012, 14:29 от sickmind »
Активен

reg48

  • Напреднали
  • *****
  • Публикации: 52
    • Профил
    • WWW
Благодаря отново. Ще се опитам да го направя, но определено ми звучи да е над моите способности. Важното е, че някак си може да стане с $RANDOM.
Активен

Gogo_SZ

  • Напреднали
  • *****
  • Публикации: 270
  • Distribution: Mageia, Mandriva
  • Window Manager: KDE, Mate, Gnome, LXDE
  • So to complete victory of trade over reason!
    • Профил
Никакъв проблем но не през cron ами с anacron.
Прочети тук:
http://manpages.ubuntu.com/manpages/natty/man8/anacron.8.html
Активен

reg48

  • Напреднали
  • *****
  • Публикации: 52
    • Профил
    • WWW
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. Всъщност, ако вкарам скрипта в този си вид в състемата при стартиране, дали тя няма да зависне докато той не приключи?
« Последна редакция: Mar 05, 2012, 02:28 от reg48 »
Активен

Gogo_SZ

  • Напреднали
  • *****
  • Публикации: 270
  • Distribution: Mageia, Mandriva
  • Window Manager: KDE, Mate, Gnome, LXDE
  • So to complete victory of trade over reason!
    • Профил
Ето тук има пример (за минутите) но и за деня е по същия начин...

http://www.thegeekstuff.com/2011/05/anacron-examples/
Активен

reg48

  • Напреднали
  • *****
  • Публикации: 52
    • Профил
    • WWW
Благодаря.
Активен