Как запустить периодическое запланированное задание без at или cron

Сценарий: у вас есть пользователь без доступа к cron, и вам нужно запланировать работу (скажем, rsync каталога). Использование at это не вариант, так как у вас нет фиксированной даты окончания.

Могу поспорить, что есть тысячи способов сделать это, вот мой:

1 ответ

Быстро и грязно:

Откройте сеанс экрана и создайте цикл while:

while : ; do
clear 
echo "$(date : Hey, I'm running this nice stuffz)"
time do_stuff
sleep 1d

Ключ здесь sleep Команда: она принимает гораздо больше, чем просто значение в миллисекундах. Существуют спецификаторы формата для секунды (с), минуты (м), часа (ч) и дня (d). Более того, GNU sleep не только может обрабатывать целые числа как значения, но и может обрабатывать произвольные числа с плавающей запятой (info '(coreutils) sleep invocation'). Это означает, что вы можете написать что-то вроде:

sleep 0.33d  or  sleep 0.5h

Последнее в значительной степени бесполезно, но, как вы знаете;)

Другие вопросы по тегам