Я не могу повторить задание в crontab root с помощью sudo -Shell зависает

Попробуйте использовать версию команды mail, поддерживающую переключатель-a(вложения ). Это более надежное решение.

s -гвоздь есть !

email=foo@base

mail -v -s subject foo@bar -a file.txt -q - <"}
    {
        print "";
        for(i=1;i<=NF;i++) {
            print "" $i"";
            print  "";
        }
    }
    END{print ""}' input1.txt
)

.
EOF

Отметьте man mail, если вам нужно добавить заголовки и т. д.

0
19.12.2020, 03:12
2 ответа

crontab -eвызывает редактор. Вывод из редактора идет на команду cat, но (в лучшем случае )ждет, пока вы отредактируете файл.

Вероятно, вам следует сделать что-то подобное

job="@reboot /home/$CURRENT_USER/scripts/reboot.sh"
tab="$(crontab -l)"
{ echo "$tab" | grep -vxF -e "$job"; echo "$job"; } | crontab

Если фрагмент еще не запущен от имени пользователя root, измените оба экземпляра глагола crontabна sudo crontab -u root

.
2
18.03.2021, 22:42

Вам не нужно использовать crontab для добавления записей в cron.

Возможно что-то вроде:

echo "59 23 * * *  /home/$CURRENT_USER/scripts/reboot.sh" | sudo tee -a /var/spool/cron/root

cron автоматически примет изменения.

Пользовательский файл crontab — это обычный текстовый файл. Манипулируйте им по мере необходимости, и cron подхватит изменения.

-1
18.03.2021, 22:42

Теги

Похожие вопросы