Изпълнение на bash скрипт във фонов режим чрез Systemd

Онзи ден беше необходим за писане на прост bash скрипт за постоянно наблюдение на директорията за наличие на * .pdf файлове в нея, с последващото им преобразуване в txt формат. Скриптът трябваше да работи във фонов режим и автоматично да се стартира при рестартиране.
За да приложа работата във фонов режим, първо написах демон на Linux в C, но след това реших, че това е твърде много за моята задача, и го внедрих с помощта на Systemd.
Първо трябва да се уверите, че вашата дистрибуция работи с Systemd, с командата:
readlink/proc/1/exe
ако изходът е / sbin/init - тогава имате SysV и трябва или да актуализирате дистрибуцията, както в моя случай, актуализирах Debian 7 Wheezy до Debian 8 Jessie, или да внедря работата във фонов режим по друг начин.
Ако изходът е такъв:
/ lib/systemd/systemd - тогава всичко е наред, имате Systemd.
Systemd си върши работата, използвайки така наречените systemd единици.
Unit (Unit) е конфигурационен файл, разположен в една от директориите:
/ run/systemd/system / - единици, създадени по време на изпълнение. Тази директория има предимство пред директорията с инсталирани единици от пакети.
/ etc/systemd/system / - единици, създадени и управлявани от системния администратор. Тази директория има предимство пред директорията на единици, създадени по време на изпълнение. В тази директория ще създадем нашата единица.
Отидете в директорията/etc/systemd/system/и създайте в нея или копирайте съществуващ файл, например sshd.service, и напишете в него:
Раздел [Услуга]
Директна информация за нашата услуга.
Параметърът ExecStart сочи към изпълнимия файл на нашата услуга. Трябва да посочите абсолютни пътища, в случай на скрипт bash, ние поставяме пътя към скрипта в единични кавички.