Линукс по команде постоянный через перезагрузки?

10

Задания, запланированные с «at», сохраняются при перезагрузке? Кроме того, кто-нибудь знает, как резервное копирование заданий может быть выполнено без доступа к соответствующим каталогам спулинга?

Я хочу отправлять электронное письмо через определенные промежутки времени с настоящего момента до года (т.е. 1 неделя, 1 месяц, 6 месяцев), так что это кажется хорошим инструментом, может быть, есть лучший?

Кайл Брандт
источник

Ответы:

10

Да, они сохраняются при перезагрузке (это просто файлы в буфере).

Что касается доступа к ним, как обычный пользователь, у вас не будет доступа к файлам, но вы можете создать систему для их резервного копирования. Может быть, что-то вроде этого:

MYAT=~/atjobs

/bin/rm -rf $MYAT/*

at -l >$MYAT/JOBS
for j in `cat $MYAT/JOBS | cut -f1`
do
  at -c $j >$MYAT/$i
done

Если вам нужно перезагрузить работу позже:

for j in `cat $MYAT/JOBS | cut -f1`
do
  # make sure the job isn't defined
  atrm $j
  # reload it from the file
  at -f $MYAT/$j `grep ^$j $MYAT/JOBS | awk '{ print $3, $2 }'`
done

(все это в основном не проверено. Базовая команда верна, но где-то обязательно будет ошибка в логике)

Сказав все это, хотя, я не уверен, что использовал бы в для задачи, которую вы описываете. Я бы, наверное, использовал уже существующую систему календаря. Если это не удастся, я бы запустил ежедневное задание cron, которое проверяло файл, чтобы увидеть, есть ли какие-либо сообщения для отправки. Гораздо более портативным, чем на рабочих местах, и гораздо больше помнят, если вы переключаете машины ...

jj33
источник
Я вижу, как это создает резервные копии заданий, но как мне перезагружать все эти задания, если это необходимо?
Кайл Брандт
3

Когда вы планируете задание с помощью at, даже если перезагрузка выполнена (они хранятся в / var / spool / cron / atjobs), задание все еще планируется.

Cordialy,

anapivirtua
источник
0

Я не очень часто использовал команду at, но я использовал cron для составления графика выполнения задач, и он сохраняется при перезагрузках. Крон работал на меня последние пятнадцать лет или около того.

Если нужно, чтобы команда выполнялась один раз в день, а затем выполнялась один раз, даже если система вышла из строя, вы можете использовать anacron .

shapr
источник
Я не думаю, что cron действительно хорош для этого, если я не использую его как заявлено jj33, потому что я не хочу запускать что-то через регулярные промежутки времени. Например, когда я планирую, даже ИИ захочет, чтобы событие А проходило через месяц, но не каждый месяц.
Кайл Брандт