Простой и удобный шаблон для bash-скриптов выполняемых по расписанию
Хочу поделиться с сообществом простым и полезным шаблоном скрипта-обёртки на bash для запуска заданий по cron (а сейчас и systemd timers), который моя команда повсеместно использует много лет.
Сначала пара слов о том зачем это нужно, какие проблемы решает. С самого начала моей работы системным администратором linux, я обнаружил, что cron не очень удобный планировщик задач. При этом практически безальтернативный. Чем больше становился мой парк серверов и виртуальных машин, тем больше я получал абсолютно бесполезных почтовых сообщений "From: Cron Daemon". Задание завершилось с ошибкой - cron напишет об этом. Задание выполнено успешно, но напечатало что-нибудь в STDOUT/STDERR - cron всё равно напишет об этом. При этом даже нельзя отформатировать тему почтового сообщения для удобной автосортировки. Сначала были годы борьбы с использованием разных вариаций из > /dev/null, 2> /dev/null, > /dev/null 2>&1, | mail -E -s '<Subject>' root@. Потом я нашёл Cronic - обёртку на bash, которая скрывает вывод запускаемой задачи, если она завершена успешно. Стало полегче, но обнаружилось, что от некоторых заданий всё же лучше получать сообщение "Task OK", чтобы не столкнуться в самый неподходящий момент с тем, что выполнение задания тихо сломано месяц назад.
https://habr.com/ru/articles/778922/
👉 @sysadminof
Хочу поделиться с сообществом простым и полезным шаблоном скрипта-обёртки на bash для запуска заданий по cron (а сейчас и systemd timers), который моя команда повсеместно использует много лет.
Сначала пара слов о том зачем это нужно, какие проблемы решает. С самого начала моей работы системным администратором linux, я обнаружил, что cron не очень удобный планировщик задач. При этом практически безальтернативный. Чем больше становился мой парк серверов и виртуальных машин, тем больше я получал абсолютно бесполезных почтовых сообщений "From: Cron Daemon". Задание завершилось с ошибкой - cron напишет об этом. Задание выполнено успешно, но напечатало что-нибудь в STDOUT/STDERR - cron всё равно напишет об этом. При этом даже нельзя отформатировать тему почтового сообщения для удобной автосортировки. Сначала были годы борьбы с использованием разных вариаций из > /dev/null, 2> /dev/null, > /dev/null 2>&1, | mail -E -s '<Subject>' root@. Потом я нашёл Cronic - обёртку на bash, которая скрывает вывод запускаемой задачи, если она завершена успешно. Стало полегче, но обнаружилось, что от некоторых заданий всё же лучше получать сообщение "Task OK", чтобы не столкнуться в самый неподходящий момент с тем, что выполнение задания тихо сломано месяц назад.
https://habr.com/ru/articles/778922/
👉 @sysadminof
Хабр
Простой и удобный шаблон для bash-скриптов выполняемых по расписанию
Хочу поделиться с сообществом простым и полезным шаблоном скрипта-обёртки на bash для запуска заданий по cron (а сейчас и systemd timers), который моя команда повсеместно использует много лет. Сначала...
Жесткие и символические ссылки
Для пользователя файл – это область данных на диске, к которой он обращается через имя файла. Однако в операционных системах на базе ядра Linux вся информация о файле привязана не к его имени, а так называемому числовому индексному дескриптору. У каждого файла есть свой уникальный индексный дескриптор, к которому привязаны сведения об этом файле: в каких блоках диска хранится его содержимое, размер, время создания, модификации и др.
Индексные дескрипторы файлов хранятся в специальной таблице. Каждый логический и физический диск имеет собственную таблицу дескрипторов.
Именно номер индекса является истинным именем файла в системе. Мы можем его увидеть с помощью ключа -i команды ls.
https://telegra.ph/ZHestkie-i-simvolnye-ssylki-07-14
👉 @sysadminof
Для пользователя файл – это область данных на диске, к которой он обращается через имя файла. Однако в операционных системах на базе ядра Linux вся информация о файле привязана не к его имени, а так называемому числовому индексному дескриптору. У каждого файла есть свой уникальный индексный дескриптор, к которому привязаны сведения об этом файле: в каких блоках диска хранится его содержимое, размер, время создания, модификации и др.
Индексные дескрипторы файлов хранятся в специальной таблице. Каждый логический и физический диск имеет собственную таблицу дескрипторов.
Именно номер индекса является истинным именем файла в системе. Мы можем его увидеть с помощью ключа -i команды ls.
https://telegra.ph/ZHestkie-i-simvolnye-ssylki-07-14
👉 @sysadminof
This media is not supported in your browser
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Mastering KVM Virtualization. Часть 1
2. KVM as a Virtualization Solution
3. Installing KVM Hypervisor, libvirt, and oVirt
4. Libvirt Networking
5. Libvirt Storage
6. Virtual Display Devices and Protocols
7. Virtual Machines: Installation, Configuration, and Life Cycle Mgmt
8. Creating and Modifying VM Disks, Templates, and Snapshots
9. Customizing a Virtual Machine with cloud-init
10. Automated Windows Guest Deployment and Customization
11. Ansible and Scripting for Orchestration and Automation
источник
👉 @sysadminof
2. KVM as a Virtualization Solution
3. Installing KVM Hypervisor, libvirt, and oVirt
4. Libvirt Networking
5. Libvirt Storage
6. Virtual Display Devices and Protocols
7. Virtual Machines: Installation, Configuration, and Life Cycle Mgmt
8. Creating and Modifying VM Disks, Templates, and Snapshots
9. Customizing a Virtual Machine with cloud-init
10. Automated Windows Guest Deployment and Customization
11. Ansible and Scripting for Orchestration and Automation
источник
👉 @sysadminof