SUDO без пароля во FreeBSD

В одной из задач которую делаю при помощи ansible понадобилось после выполнения всех тасков, перезапустить сервис. А так-как ansible работает под пользователем, то сервис соответственно пере стартовать не дает. Возможно есть и штатные средства для обхода этого момента. Но мне не нагуглилось сразу. Потому решил сделать перезапуск cron при помощи sudo:

Один нюанс, чтобы не запрашивался пароль, поправим файл /usr/local/etc/sudoers, а именно раскомментируем строку:

Использование flock для запуска одной копии процесса

Для того чтобы запускалась только одна копия скрипта одновременно (например в crontab), можно воспользоваться утилитой flock. Пример:

Проблема с кодировкой локали скриптов Python выполняемых из crontab

Столкнулся с проблемой, что скрипт выполняемый из консоли работает корректно, а выполняемый из crontab — пишет ошибку

UnicodeEncodeError: ‘ascii’ codec can’t encode

Дело в том, что задания выполняемые из crontab имеет кодировку по умолчанию ascii. Потому нужно в /etc/crontab добавить строчку:

LANG=ru_RU.UTF-8

Пользовательский crontab во FreeBSD

Помимо общесистемного /etc/crontab , существует возможность выполнять периодические задания и для каждого пользователя. Эти задания лежат в /var/cron/tabs,  причем имя файла — это имя пользователя под которым они будут выполняться. Так-же отличается и формат файла, в нем отсутствует столбец имени пользователя.

Пример файла: