Запись Cron за последнюю субботу

Скорость последовательного порта обычно определяется самим оборудованием и настраивается драйвером оборудования.

Таким образом, следующей цепочкой будет вызов TCSETSioctl, который вызывает tty_set_termios()в tty_ioctl.c. Если вы проследите эту цепочку, то в драйвере RocketPort он вызовет rp_set_termios(), который сам вызывает configure_r_port().

Выполняется некоторый расчет параметров конфигурации для отправки на микросхему RocketPort (, например. установка делителя ), которая в конечном итоге вызывает sSetBaud(, определенную в rocket_int.h), которая просто выводит байты на микросхему.

Таким образом, ядро ​​само по себе не выполняет "битовую перестановку" последовательных линий для определения скорости передачи данных; Чип UART делает всю эту тяжелую работу за нас. Нам просто нужно запрограммировать чип:-)

3
07.11.2019, 13:19
1 ответ

Ваша логика не сработает. Последняя суббота месяца может быть 29, 30 или 31 числа. По этой причине лучший способ выполнить проверку — запускать ее каждую субботу и проверять в сценарии, если это последние 7 дней в месяце:

45 23 * * 6  sh  /folder/script.sh 

и добавьте в свой скрипт (сюда, предполагая реализацию GNUdate)что-то вроде:

if [ "$(date -d "+7 day" +%m)" -eq "$(date +%m)" ]
then echo "This is not one of last 7 days in month.";exit
fi
<rest of your script>

Что касается вашей строки в cron, вы должны отредактировать ее, чтобы она начиналась так:

00 17  * * 6

(6 означает субботу, 0 или 7 означает воскресенье)

11
27.01.2020, 21:11

Теги

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