<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>http://wiki.rosa.ru/index.php?action=history&amp;feed=atom&amp;title=Timer</id>
	<title>Timer - История изменений</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.rosa.ru/index.php?action=history&amp;feed=atom&amp;title=Timer"/>
	<link rel="alternate" type="text/html" href="http://wiki.rosa.ru/index.php?title=Timer&amp;action=history"/>
	<updated>2026-05-10T02:20:32Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>http://wiki.rosa.ru/index.php?title=Timer&amp;diff=73&amp;oldid=prev</id>
		<title>PastorDi: Новая страница: «=Выполнение задач по расписанию=  ==Введение==  Эта статья описывает, как выполнять задачи по расписанию в операционных системах ROSA Fresh/Хром.  ==Таймеры systemd: регулярное выполнение задачи по расписанию==  Systemd timer — это компонент systemd, который позволяет запус...»</title>
		<link rel="alternate" type="text/html" href="http://wiki.rosa.ru/index.php?title=Timer&amp;diff=73&amp;oldid=prev"/>
		<updated>2025-03-11T20:48:22Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «=Выполнение задач по расписанию=  ==Введение==  Эта статья описывает, как выполнять задачи по расписанию в операционных системах ROSA Fresh/Хром.  ==Таймеры systemd: регулярное выполнение задачи по расписанию==  Systemd timer — это компонент systemd, который позволяет запус...»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=Выполнение задач по расписанию=&lt;br /&gt;
&lt;br /&gt;
==Введение==&lt;br /&gt;
&lt;br /&gt;
Эта статья описывает, как выполнять задачи по расписанию в операционных системах ROSA Fresh/Хром.&lt;br /&gt;
&lt;br /&gt;
==Таймеры systemd: регулярное выполнение задачи по расписанию==&lt;br /&gt;
&lt;br /&gt;
Systemd timer — это компонент systemd, который позволяет запускать задачи (unit) в определенное время или с определенной периодичностью.&lt;br /&gt;
&lt;br /&gt;
Таймеры systemd полезны для автоматизации запуска определенных задач на сервере в заданные моменты времени или с определенной периодичностью, в зависимости от потребностей.&lt;br /&gt;
&lt;br /&gt;
Отличие systemd timer от cron заключается в том, что в случае с timer systemd полностью контролирует выполнение задачи, позволяет ее досрочно остановить, запоминает статус исполнения, предотвращает дубликаты (например, запуск нового экземпляра задачи, когда как еще не остановился предыдущий).&lt;br /&gt;
&lt;br /&gt;
Пример настройки systemd timer для запуска скрипта каждый день в 3 часа утра:&lt;br /&gt;
&lt;br /&gt;
Создайте файл таймера в каталоге /etc/systemd/system/ с расширением .timer, например myscript.timer:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=My script timer&lt;br /&gt;
&lt;br /&gt;
[Timer]&lt;br /&gt;
OnCalendar=*-*-* 03:00:00&lt;br /&gt;
Unit=myscript.service&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=timers.target&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Создайте файл сервиса для запуска скрипта, например myscript.service:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=My script&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
ExecStart=/path/to/myscript.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Добавьте User=username в раздел [Service], если нужно запускать задачу не от root, а от другого пользователя — username.&lt;br /&gt;
&lt;br /&gt;
Запустите и активируйте таймер:&lt;br /&gt;
&lt;br /&gt;
 sudo systemctl daemon-reload&lt;br /&gt;
 sudo systemctl enable myscript.timer&lt;br /&gt;
 sudo systemctl start myscript.timer&lt;br /&gt;
&lt;br /&gt;
Еще несколько примеров значений параметра OnCalendar, задающего периодичность запуска задачи:&lt;br /&gt;
&lt;br /&gt;
* Запуск задачи каждую минуту:&lt;br /&gt;
 &lt;br /&gt;
 OnCalendar=* * * * *&lt;br /&gt;
&lt;br /&gt;
* Запуск задачи каждый час в первую минуту:&lt;br /&gt;
 &lt;br /&gt;
 OnCalendar=* * * * 1&lt;br /&gt;
&lt;br /&gt;
* Запуск задачи каждые два часа:&lt;br /&gt;
 OnCalendar=* */2 * * *&lt;br /&gt;
&lt;br /&gt;
Подробнее смотрите в man systemd.timer.&lt;br /&gt;
&lt;br /&gt;
==atd: одноразовое выполнение задачи в заданное время==&lt;br /&gt;
&lt;br /&gt;
atd (at daemon) - это программа в Linux, которая позволяет запускать задачи на выполнение в определенное время.&lt;br /&gt;
&lt;br /&gt;
Вот простая инструкция по использованию atd:&lt;br /&gt;
&lt;br /&gt;
Установите atd, если его нет на вашей системе:&lt;br /&gt;
&lt;br /&gt;
 sudo dnf install at&lt;br /&gt;
&lt;br /&gt;
Запустите службу atd и добавьте ее в автозапуск при загрузке ОС:&lt;br /&gt;
&lt;br /&gt;
 sudo systemctl enable --now atd&lt;br /&gt;
&lt;br /&gt;
Убедитесь, что она запустилась и работает:&lt;br /&gt;
&lt;br /&gt;
 sudo systemctl status atd&lt;br /&gt;
&lt;br /&gt;
Создайте задачу для запуска в определенное время. Например, чтобы запустить скрипт /path/to/myscript.sh в 2 часа ночи:&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;/path/to/myscript.sh&amp;quot; | at 2am&lt;br /&gt;
&lt;br /&gt;
Чтобы просмотреть список запланированных задач:&lt;br /&gt;
&lt;br /&gt;
 atq&lt;br /&gt;
&lt;br /&gt;
Чтобы удалить задачу из очереди на выполнение:&lt;br /&gt;
&lt;br /&gt;
 atrm &amp;lt;номер задачи&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Чтобы просмотреть вывод задачи после ее выполнения:&lt;br /&gt;
&lt;br /&gt;
 at -c &amp;lt;номер задачи&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Несколько дополнительных примеров:&lt;br /&gt;
&lt;br /&gt;
Запуск задачи в определенное время, указывая дату и время полностью:&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;/path/to/myscript.sh&amp;quot; | at 2023-03-11 03:00&lt;br /&gt;
&lt;br /&gt;
Запуск задачи через несколько минут:&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;/path/to/myscript.sh&amp;quot; | at now + 5 minutes&lt;br /&gt;
&lt;br /&gt;
Запуск задачи через несколько часов:&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;/path/to/myscript.sh&amp;quot; | at now + 3 hours&lt;br /&gt;
&lt;br /&gt;
Запуск команды shell в заданное время:&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;ls /tmp &amp;gt; /home/user/tmp.log&amp;quot; | at 2am tomorrow&lt;br /&gt;
&lt;br /&gt;
==cron: устаревший механизм регулярного выполнения задач по расписанию==&lt;br /&gt;
&lt;br /&gt;
cron — это программа в Linux, которая позволяет запускать задачи в определенное время или периодически. Рекомендуется использовать таймеры systemd вместо cron, если нет очень везких причин использовать cron и если вы плохо понимаете разницу между ними.&lt;br /&gt;
&lt;br /&gt;
Установите демон cron:&lt;br /&gt;
&lt;br /&gt;
 sudo dnf install cronie&lt;br /&gt;
&lt;br /&gt;
Запустите его и добавьте в автозапуск службу crond:&lt;br /&gt;
&lt;br /&gt;
 sudo systemctl enable --now crond&lt;br /&gt;
&lt;br /&gt;
Убедитесь, что он работает:&lt;br /&gt;
&lt;br /&gt;
 sudo systemctl status crond&lt;br /&gt;
&lt;br /&gt;
От нужного пользователя (того, от которого нужно выполнять задачу, в т.ч. root) выполните команду для редактирования списка задач cron:&lt;br /&gt;
&lt;br /&gt;
 crontab -e&lt;br /&gt;
&lt;br /&gt;
Добавьте задачу, которую нужно запустить (по одной задаче на строку). Например, чтобы запустить скрипт /path/to/myscript.sh каждый день в 3 часа утра:&lt;br /&gt;
&lt;br /&gt;
 0 3 * * * /path/to/myscript.sh&lt;br /&gt;
&lt;br /&gt;
Эта конфигурация запустит скрипт каждый день в 3 часа утра. Для редактирования используются следующие параметры:&lt;br /&gt;
&lt;br /&gt;
* минуты (от 0 до 59)&lt;br /&gt;
* часы (от 0 до 23)&lt;br /&gt;
* день месяца (от 1 до 31)&lt;br /&gt;
* месяц (от 1 до 12)&lt;br /&gt;
* день недели (от 0 до 7, где 0 и 7 - воскресенье)&lt;br /&gt;
&lt;br /&gt;
Сохраните и закройте файл.&lt;br /&gt;
&lt;br /&gt;
Чтобы просмотреть список задач cron:&lt;br /&gt;
&lt;br /&gt;
 crontab -l&lt;br /&gt;
&lt;br /&gt;
Чтобы удалить задачу из списка:&lt;br /&gt;
&lt;br /&gt;
 crontab -r&lt;br /&gt;
&lt;br /&gt;
Несколько дополнительных примеров:&lt;br /&gt;
&lt;br /&gt;
Запуск задачи каждый понедельник в 8 часов утра:&lt;br /&gt;
&lt;br /&gt;
 0 8 * * 1 /path/to/myscript.sh&lt;br /&gt;
&lt;br /&gt;
Запуск задачи каждый час:&lt;br /&gt;
&lt;br /&gt;
 0 * * * * /path/to/myscript.sh&lt;br /&gt;
&lt;br /&gt;
Запуск задачи каждые 15 минут:&lt;br /&gt;
&lt;br /&gt;
 */15 * * * * /path/to/myscript.sh&lt;br /&gt;
&lt;br /&gt;
Запуск задачи в 12 часов ночи каждого 1-го числа месяца:&lt;br /&gt;
&lt;br /&gt;
 0 0 1 * * /path/to/myscript.sh&lt;br /&gt;
&lt;br /&gt;
[[Категория:Сервер]]&lt;/div&gt;</summary>
		<author><name>PastorDi</name></author>
	</entry>
</feed>