The OpenNET Project / Index page

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



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Раздел полезных советов: Случайная задержка в shell-скрипте, выполняемом из crontab, auto_tips (??), 27-Июл-22, (0) [смотреть все] +3

Сообщения [Сортировка по времени | RSS]


2. "Случайная задержка в shell-скрипте, выполняемом из crontab"  +15 +/
Сообщение от grayich (ok), 27-Июл-22, 14:52 
sleep $((RANDOM % 3600)) 
sleep $(shuf -i 1-3600 -n 1)
sleep $(perl -e 'print rand(3600)')
sleep $(python -c 'import random; print(random.randint(1,3600))')
и ещё десяток более коротких вариантов, в зависимости от системы и имеющихся утилит
трудно найти систему в которой есть od, bc и при этом нет продвинутого шела, shuf, perl, python и порочего
Ответить | Правка | Наверх | Cообщить модератору

3. "Случайная задержка в shell-скрипте, выполняемом из crontab"  –1 +/
Сообщение от Аноним (3), 27-Июл-22, 21:02 
Это баш, кореутилс, перл, питон. В какой-нибудь фряхе tcsh вот и попробуй с ним сделать что-нибудь.
Ответить | Правка | Наверх | Cообщить модератору

4. "Случайная задержка в shell-скрипте, выполняемом из crontab"  +3 +/
Сообщение от grayich (ok), 27-Июл-22, 22:41 
в фряхе в базовой системе(из коробки) есть jot, как выше предлагали
jot -r 1 1 3600

сабж интересен с точки зрения задачки для ума, но в реальности .. такое себе
coreutils везде есть, awk везде есть
awk 'BEGIN{srand();print rand()*3600}'
если в системе есть od bc dd head cut то и предлагаемое скорее всего есть
Ответить | Правка | Наверх | Cообщить модератору

48. "Случайная задержка в shell-скрипте, выполняемом из crontab"  +4 +/
Сообщение от _ (??), 23-Авг-22, 20:10 
В опёнке в самом crontab(5) заложен функционал случайного времени выполнения команды
=========
A random value (within the legal range) may be obtained by using the ‘~’ character in a field. The interval of the random value may be specified explicitly, for example “0~30” will result in a random value between 0 and 30 inclusive. If either (or both) of the numbers on either side of the ‘~’ are omitted, the appropriate limit (low or high) for the field will be used.
========
Ответить | Правка | Наверх | Cообщить модератору

59. "Случайная задержка в shell-скрипте, выполняемом из crontab"  +2 +/
Сообщение от Michael Shigorinemail (ok), 09-Окт-22, 13:00 
Занятно, хорошо бы потырить.
Ответить | Правка | Наверх | Cообщить модератору

60. "Случайная задержка в shell-скрипте, выполняемом из crontab"  +/
Сообщение от Michael Shigorinemail (ok), 09-Окт-22, 13:00 
Так-то head(1), cut(1) и куча других форков в предложенном варианте -- тоже coreutils; если бы оказался заперт на дебиане и таких кроновых заданий было бы [по контейнерам/виртуалкам] достаточно много/часто, ну или по красоте -- то форкнул бы уже какой-нить лёгкий bash (а на альте /bin/sh и есть лёгкий баш без readline и всего прочего).

Но всяко спасибо :)

PS: у меня как-то была обёртка для другого варианта применения -- когда на ноуте охота гонять всякие updatedb, но точно не на батарейке и совсем в фоне; вдруг кому пригодится: http://packages.altlinux.org/idlewrap

Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

5. "Случайная задержка в shell-скрипте, выполняемом из crontab"  +1 +/
Сообщение от john_erohin (?), 28-Июл-22, 04:37 
> продвинутого шела,

я когда подавал эту заметку на модерирование, в заголовке специально
написал "без башизмов". но дорогая редакция не пропустила.
оскорбить боятся кого-то что ли.

перл и питон слишком жирные. можно обойтись без.

Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

6. "Случайная задержка в shell-скрипте, выполняемом из crontab"  +3 +/
Сообщение от grayich (ok), 28-Июл-22, 10:22 
> написал "без башизмов". но дорогая редакция не пропустила.

идея была ясна, но имхо - чисто из теории
на практике нет смысла таких сложностей, да и те-же jot, shuf - не башизмы

> перл и питон слишком жирные. можно обойтись без.

да как сказать, задействованные утилиты:
91K /usr/bin/bc
39K /usr/bin/cut
67K /usr/bin/dd
39K /usr/bin/head
63K /usr/bin/od
итого: 299КБ

14К /usr/bin/jot
43K /usr/bin/shuf

687K /usr/bin/gawk

perl\python - обычно уже в системе есть, общий их размер конечно приличный, но выполняемый(вид из ps)
13364  7784 python -c import random; print(random.randint(1,3600)); input("")
10636  3796 perl -e print rand(3600);$i=<STDIN>

и тут вроде бы как 10-13 метров много, но те-же bc\head занимают по 6 метров в ps, что уже в сумме 12
так что по ресурсам perl\python в итоге ещё и экономнее будут - чем целый конвейер

Ответить | Правка | Наверх | Cообщить модератору

14. "Случайная задержка в shell-скрипте, выполняемом из crontab"  +1 +/
Сообщение от Аноним (-), 28-Июл-22, 23:52 
Повесить в памяти жирный интерпретер, да еще с немеряными модулями/стдлибами чтобы задержку отмерять это конечно круто. Надо было не мелочиться и V8 для этого заюзать, чего уж там. Или JVM накрайняк. Иначе недостаточно энтерпрайзно.

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

Ответить | Правка | Наверх | Cообщить модератору

15. "Случайная задержка в shell-скрипте, выполняемом из crontab"  +1 +/
Сообщение от john_erohin (?), 29-Июл-22, 06:33 
> Можно еще Менеджер Рандомных Задержек накодить

systemd-randomdelayd.

Ответить | Правка | Наверх | Cообщить модератору

16. "Случайная задержка в shell-скрипте, выполняемом из crontab"  +/
Сообщение от Аноним (-), 29-Июл-22, 13:13 
А может, просто man systemd.timer? Он умеет и это и намного больше :). Заодно крон можно отправить на свалку - в системде хотя-бы можно посмотреть активные таймеры ОДНОЙ командой. Сразу. Без велосипедизма. С кроном так почему-то не катит.

Зато можно написать очередной совет как делать из буханки хлеба троллейбус, "без использования гвоздей".

Ответить | Правка | Наверх | Cообщить модератору

27. "Случайная задержка в shell-скрипте, выполняемом из crontab"  +2 +/
Сообщение от john_erohin (?), 30-Июл-22, 21:34 
> в системде хотя-бы можно посмотреть активные таймеры ОДНОЙ командой.

таймер в системе один, это системные часы, их cron и смотрит.

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

Ответить | Правка | Наверх | Cообщить модератору

28. "Случайная задержка в shell-скрипте, выполняемом из crontab"  +/
Сообщение от Аноним (28), 31-Июл-22, 17:25 
В системде есть юниты с типом .timer и их в типовом случае таки более одного. Это очень логичное название т.к. описывает что оно делает и как себя ведет. И кроме всего прочего там достаточно фич чтобы заодно описать и вон ту хотелку, без изобретения велика с квадратными колесами самому.

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

Как по мне системд может и агент влияния, конечно, но влияет он сугубо на мои системы, и делает то что я скажу. А раз так - это хороший и правильный агент. И уж всяко лучше вон тех, с гамном и палками. Потому что попадет кому такая система - и они вообще не в курсе что за плюхи там по скриптам рассованы. Хотя бэкдоры так прятать наверное удобно, поди там разберись в этом кастоме - надо вон то или нет. Мало кто в этом месиве еще и осмысленно копаться будет.

Ответить | Правка | Наверх | Cообщить модератору

61. "Случайная задержка в shell-скрипте, выполняемом из crontab"  +1 +/
Сообщение от Michael Shigorinemail (ok), 09-Окт-22, 13:02 
> все начинается с нестандартной терминологии, а заканчивается переходом отработавшего
> задание агента влияния к своему настоящему хозяину.

Слушайте, давайте как-нить встретимся живьём.
Хочу пожать руку.

Ответить | Правка | К родителю #27 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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