Задания крона и почтовое уведомление

Я реализовал эту функцию при помощи wmctrl.

Соответствующая часть в rc.xml openbox:

<keybind key="A-space">
  <action name="execute">
    <execute>wmctrl-switch-by-application</execute>
  </action>
</keybind>

ниже код в wmctrl-switch-by-application:

# taken from https://unix.stackexchange.com/questions/26546/can-you-switch-between-windows-within-an-application-in-openbox
# taken from: http://www.st0ne.at/?q=node/58

# get id of the focused window
active_win_id=$(xprop -root | grep '^_NET_ACTIVE_W' | awk -F'# 0x' '{print $2}')

# get window manager class of current window
win_class=$(wmctrl -x -l | grep $active_win_id | awk '{print $2 " " $3}' )

# get list of all windows matching with the class above
win_list=$(wmctrl -x -l | grep -- "$win_class" | awk '{print $1}' )

# get next window to focus on
switch_to=$(echo $win_list | sed s/.*$active_win_id// | awk '{print $1}')

# if the current window is the last in the list ... take the first one
if [ -z "$switch_to" ];then
   switch_to=$(echo $win_list | awk '{print $1}')
fi

# switch to window
wmctrl -i -a $switch_to
3
26.06.2013, 15:19
2 ответа

Отредактируйте свой crontab файл и добавьте:

MAILTO=your.email@your_provider.com

и в конце сценария добавьте:

echo 'backup finished', $FILE

cron обычно отправляет любой вывод от команды, которую он выполняет на электронную почту. Ваш сценарий, кажется, работает тихо, следовательно никакая электронная почта.

Если Вы не добавите MAILTO, то почта перейдет к пользователю, выполняющему crontab, по моему скромному мнению, лучше сделать это явным.

6
27.01.2020, 21:10
  • 1
    я добавил те 2 строки в конце своего сценария, но не получил электронное письмо. –  Jason Paddle 26.06.2013, 15:39
  • 2
    Вы установили свой MAILTO в crontab правильно, и Вы протестировали вручную, что сервер webite на самом деле может послать электронное письмо ('эхо 'тест' | почта your@email.adr')? –  Anthon 26.06.2013, 15:41
  • 3
    На самом деле была моя ошибка. Я забыл устанавливать свою электронную почту в crontab. После того, как я установил надлежащий emial, теперь получен. Но шанс настроить немного текстового тела в электронном письме, потому что теперь 500 + строки?... Я просто хочу записать, что "Резервное копирование для даты веб-сайта сделано". –  Jason Paddle 26.06.2013, 15:50
  • 4
    Не используйте подробный флаг (tar -v), или иначе перенаправление stdout от Ваших команд. Затем с Вами оставят просто, что Вы помещаете в stdout а именно, например, "Копируют сделанный" –  dougBTV 26.06.2013, 15:56
  • 5
    U, средний здесь tar -cvf $BACKUP_DIR/$FILE --transform $WWW_TRANSFORM $WWW_DIR использовать только tar -cf...? –  Jason Paddle 26.06.2013, 15:58

Можно добавить следующую строку в конце сценария удара:

отзовитесь эхом-e, "Отправляющие Резервное копирование, сообщают о:\n Резервном копировании $DB_NAME и $FILE, завершенного" | дурак-s "Резервный отчет за $NOW"

4
27.01.2020, 21:10
  • 1
    Это работает также прекрасное. Благодарите за свою справку также. У меня нет 15 репутаций для голосования.Прошу прощения. –  Jason Paddle 26.06.2013, 16:03
  • 2
    Теперь, Вы делаете :-) –  Afr 30.06.2013, 23:20

Теги

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