На этот вопрос уже есть ответ:
Я хочу запускать команду каждые 15 минут. Вот команда, которую я хочу запустить:
sudo bash -c "sleep 1h; pm-suspend"
Я неспособен прокомментировать из-за недостаточной репутации однако @Edwin Hernandez crontab, пример */15, *, *, *, * sudo bash -c "sleep 1h; pm-suspend"
является неправильным, поскольку не должно быть запятых между полями (каждая из звезд отдельное поле). @Mitchв™\¦ имеет правильный формат.
cron
формат:
m h dom mon dow command
м является минутой, h является часом, dom является днем месяца, понедельник является месяцем, и dow является днем недели.
В Вашем комментарии Вы задаете дополнительный вопрос о выполнении каждый день и каждую неделю.
14 04 * * * command
каждый день в 4:14
39 06 * * 3 command
, каждую среду в 6:39 (0 = Sun, 1 = понедельник, и т.д....)
39 06 * * wed command
как предыдущая строка
Осторожность № 1: , Если Вы используете * * * * wed command
тогда, это будет работать каждую минуту каждого часа каждую среду. Если Вы только хотите, чтобы он работал один раз в день тогда, необходимо определить минуты и часы дня, который Вы хотите, чтобы он выполнил. Я был укушен этим больше чем в одном случае. Это может быть очень печально.
Осторожность № 2: , Если бы команда Вы хотите работать, эти pm-suspend
команда тогда, я предложил бы, чтобы Вы посмотрели на все crontab файлы для всех пользователей для нахождения подходящего времени после того, как они закончили обрабатывать любые команды, которые Вы чувствуете, важны. например, если Вы выполняете резервное копирование, запускающееся в 5:44, и затем устанавливаете Ваш pm-suspend
для выполнения в 5:50 существует возможность, что резервное копирование не будет заканчиваться прежде, чем приостановить, который является, вероятно, не полезным положением дел.
причина, что "случайные" времена используются в примере, состоит в том, что crontabs часто выделяют свои команды в эти "случайные" времена для распределения нагрузки так, чтобы много процессов все не запускалось сразу
, нужно отметить, что любое производство крона посылается по электронной почте пользователю, если электронная почта настраивается. Вы не будете видеть вывода на экране/терминале.
в стороне
, Если когда-нибудь необходимо наблюдать, что что-то переключает более короткий период времени (значение по умолчанию является 2 secs) тогда watch
полезная команда. Нахождение этой команды было удачей!
Другое чтение
На ТАК , Как я могу сделать команду удара выполняемой периодически? имеет много ссылок в этом, мог бы помочь объяснить вещи альтернативными способами.
Или если можно справиться с несколько мясистым man
страницы:
man 8 cron
man 1 crontab
man 5 crontab
Необходимо использовать 'крон'. Официальные инструкции здесь . Существует дополнительное anacron
демон также, который позволяет создавать правила как 5 minutes after connecting to Internet
Пошаговое руководство было бы похоже:
Редактирование Вашего crontab: введите в терминале:
$ crontab -e
Добавляют следующую строку к нему.
*/15 * * * * sudo bash -c "sleep 1h; pm-suspend"
Сохраните и выйдите: тип :wq
и затем нажимает enter
, если Вы находитесь на vi.
Один путь состоит в том, чтобы работать крон команда каждые 15 минут. Как это, где каждая минута определяется:
0,15,30,45 * * * * /path/to/command
Вы могли попробовать его с помощью while
цикл, сохранить следующий код в файле и выполнить его как sudo bash <filename>
. необходимо выполнить его однажды, это будет работать в терминале, пока Вы не отменяете его с помощью Ctrl + C
#!/bin/bash
sudo bash -c "sleep 1h; pm-suspend"