TGViewer
Системный администратор - Сетевые технологии - Компьютерная помощь Системный администратор - Сетевые технологии - Компьютерная помощь @sysadmin1 · 8.35K subscribers
Post #9941 967
📌 Автоматизация задач (cron, systemd timers, Ansible)

Всем доброй ночи!
Автоматизация — ключевой элемент эффективного администрирования серверов. В данном руководстве рассмотрены три основных инструмента автоматизации:
- cron — классический планировщик задач в UNIX-подобных системах.
- systemd timers — альтернатива cron, интегрированная в systemd.
- Ansible — инструмент управления конфигурацией и автоматизации.


1. Использование cron
cron позволяет запускать команды и скрипты по расписанию.

1.1. Основные файлы cron
- /etc/crontab — системный crontab.
- /etc/cron.d/ — каталог для пользовательских crontab-файлов.
- /var/spool/cron/crontabs/ — файлы crontab для отдельных пользователей.

1.2. Формат записи crontab

* * * * * /путь/к/команде аргументы
| | | | |
| | | | +---- День недели (0 - вс, 6 - сб)
| | | +------ Месяц (1-12)
| | +-------- День месяца (1-31)
| +---------- Часы (0-23)
+------------ Минуты (0-59)


Пример: запуск скрипта каждый день в 3:30 утра:

30 3 * * * /usr/local/bin/myscript.sh


1.3. Управление cron
- Просмотр текущего crontab:


crontab -l

- Редактирование crontab:


crontab -e

- Удаление crontab:


crontab -r

- Логи cron хранятся в /var/log/syslog (Ubuntu/Debian) или /var/log/cron (CentOS/RHEL).


2. Использование systemd timers
Systemd timers — альтернатива cron, предоставляющая больше возможностей, включая логирование и гибкость настроек.

2.1. Создание таймера
1. Создайте unit-файл для сервиса (/etc/systemd/system/myscript.service):

   [Unit]
Description=Запуск скрипта
[Service]
ExecStart=/usr/local/bin/myscript.sh

2. Создайте unit-файл для таймера (/etc/systemd/system/myscript.timer):

   [Unit]
Description=Таймер для myscript.service
[Timer]
OnCalendar=*-*-* 03:30:00
Persistent=true
[Install]
WantedBy=timers.target


2.2. Управление таймерами
- Включение таймера:

  systemctl enable --now myscript.timer

- Проверка состояния таймера:

  systemctl list-timers

- Просмотр логов:

  journalctl -u myscript.service --no-pager



3. Автоматизация с Ansible
Ansible позволяет управлять серверами без установки агентов.

3.1. Установка Ansible
Для Debian/Ubuntu:
sudo apt update && sudo apt install -y ansible

Для CentOS/RHEL:
sudo yum install -y epel-release
sudo yum install -y ansible


3.2. Базовая структура Ansible
inventory/hosts  # Список серверов
playbooks/
install_apache.yml # Пример Playbook
roles/
common/ # Роли Ansible


3.3. Пример Playbook
Файл install_apache.yml:
- hosts: webservers
become: yes
tasks:
- name: Установить Apache
apt:
name: apache2
state: present

Запуск:
ansible-playbook -i inventory/hosts playbooks/install_apache.yml


Заключение
- Используйте cron для простых задач.
- Применяйте systemd timers, если важны логи и интеграция с systemd.
- Автоматизируйте масштабные задачи с Ansible.

@sysadmin1
  • 🤝 3
  • 🤩 2
  • ❤ 1
  • 👍 1
  • 🔥 1
More from @sysadmin1
  1. Oct 16, 2026А эникей с метлой ловко это придумал 😂 Подписывайтесь на наш канал в MAX и будьте в курсе…
  2. Oct 16, 2026Post #12453
  3. Oct 16, 2026Post #12452
  4. Oct 16, 2026Как установить и настроить KVM в Linux На мастер-классе вы узнаете: - что такое KVM (Kerne…
  5. Oct 16, 2026Post #12450
  6. Oct 16, 2026Tmpmail Временная электронная почта прямо из вашего терминала, написанная на POSIX sh http…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →