SRV_ADMIN_LINUX Telegram 585
📌 Автоматизация задач (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.
1



tgoop.com/srv_admin_linux/585
Create:
Last Update:

📌 Автоматизация задач (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.

BY Админские угодья


Share with your friend now:
tgoop.com/srv_admin_linux/585

View MORE
Open in Telegram


Telegram News

Date: |

‘Ban’ on Telegram 1What is Telegram Channels? 3How to create a Telegram channel? The initiatives announced by Perekopsky include monitoring the content in groups. According to the executive, posts identified as lacking context or as containing false information will be flagged as a potential source of disinformation. The content is then forwarded to Telegram's fact-checking channels for analysis and subsequent publication of verified information. A few years ago, you had to use a special bot to run a poll on Telegram. Now you can easily do that yourself in two clicks. Hit the Menu icon and select “Create Poll.” Write your question and add up to 10 options. Running polls is a powerful strategy for getting feedback from your audience. If you’re considering the possibility of modifying your channel in any way, be sure to ask your subscribers’ opinions first.
from us


Telegram Админские угодья
FROM American