В Linux, как запретить 'date -s' назначать время 00:00 для пустого ввода - PullRequest
0 голосов
/ 11 декабря 2019

Я купил новый ноутбук, но по некоторым причинам встроенные часы теряют 15 минут в день. Компания, у которой я купил ее, заменила батарею CMOS, но это не имело значения. Я закончил тем, что добавил в свой crontab Ubuntu следующее:

*   *   *   *   *   date -s "$(wget -S  "http://www.google.com/" 2>&1 | grep -E '^[[:space:]]*[dD]ate:' | sed 's/^[[:space:]]*[dD]ate:[[:space:]]*//' | head -1l | awk '{print $1, $3, $2,  $5 ,"GMT", $4 }' | sed 's/,//')"

Это прекрасно работает (по крайней мере, пока я не нахожусь в часовом поясе GMT, когда Google возвращает время GMT), когда у меня есть подключение к Интернету, но когда яя в автономном режиме он устанавливает время на текущую дату 00:00 утра. То есть date -s "" меняет время на 00: 00.

Есть ли какой-нибудь флаг, который я могу передать date, чтобы сказать, что не надо ничего менять при пустом вводе? Или изменить другие части задания cron?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...