Я купил новый ноутбук, но по некоторым причинам встроенные часы теряют 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?