Как отправлять периодические электронные письма

Как установить конкретный день (скажем, пятницу) для отправки электронной почты с помощью сценария командной оболочки mail?

Мне нужна логика для отправки почты только раз в неделю, например, один раз (пятница) используя сценарий оболочки.

mailx -s  "Subject $DATE " -r "resource"  -a $LOG  a@gmail.com < status 

Это письмо отправляется ежедневно?

-2
26.03.2017, 19:24
1 ответ

Для многократного выполнения задачи необходимо настроить задание cron. Для этого сначала создадим скрипт задания, которое вы хотите выполнить.

Создайте файл с именем (например, mail.sh), в который введите следующее:

#!/bin/bash

mailx -s "Subject $DATE " -r "resource" -a $LOG a@gmail.com < status

Сохраните файл. Назначьте разрешение на выполнение скрипта, набрав в терминале:

$ chmod +x mail.sh

Запустите скрипт ./mail.sh, чтобы убедиться, что он работает.

Теперь скрипт не будет автоматически запускаться каждую пятницу. Для этого установите crontab.

$ sudo apt install crontab

Теперь введите в терминале:

$ crontab -e

Выберите ваш любимый редактор и добавьте строку в конце.

0 0 * * * 5 mylocation/mail.sh

Приведенный выше код будет запускать mail.sh каждую пятницу, обозначенную цифрой 5, ровно в 12.00, обозначенную цифрой 0 0.

Пожалуйста, обратитесь к ссылке, чтобы узнать о crontab. Вы также можете загуглить crontab. Я рекомендую вам изучить использование crontab и добавить только строку.

2
28.01.2020, 05:16

Теги

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