Расписание последнего дня каждого месяца

Просто экспорт переменных:

export NAME1="value1"
export NAME2="value2"
./my.install

Изменить: Это возможно из следующих команд (я знаю):

  • DASH
  • BASH
  • KSH
  • ZSH

Редактировать 2: Переместить my.install в my.install.real , и создайте новый файл с именем my.install :

export HOME='SAMPLE VALUE'
export PATH='SAMPLE VALUE'
./my.install.real
unset HOME
unset PATH
10
30.10.2018, 18:41
2 ответа

Предположим, что синтаксические ошибки исправлены, а команда немного переформулирована, чтобы сделать ее менее подробной.:

00 12 28-31 * * [ "$( date -d tomorrow +\%d )" != "01" ] || command1

Это запускаетсяdate +%d -d tomorrow(в предположении, что GNU dateиспользуется )для получения завтрашней даты в виде двузначного -числа. Если число не 01, то сегодня не последний день месяца. В этом случае тесты пройдены успешно, и command1будет не выполненным. Задание выполняется в полдень тех дней, которые могут быть последними днями месяца.

Исходная команда:

00 12 * * * if [`date +%d -d tomorrow` = 01 ] ; then ; command1

Есть несколько проблем:

  • Нет места после [.
  • A ;сразу после then.
  • %является специальным в спецификациях заданий cron и должен быть экранирован как\%(см.man 5 crontab).
  • В конце нет финального fi, совпадающего с if.
9
27.01.2020, 20:00

Чтобы запланировать последний день каждого месяца, вы можете попробовать:0 0 15,L * *.

-1
27.01.2020, 20:00

Теги

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