Ctrl+Y вставит последний объект, который Вы сокращаете (с Ctrl+U, Ctrl+K, Ctrl+W, и т.д.).
Проверьте настройку в /etc/time zone. В вопросе, который вы упомянули, что вы находитесь в "GMT+1", если это то, что ваш часовой пояс установлен, ваш скрипт будет всегда выполняться по UTC плюс один час. Если вы установите его, например, в "Европе/Париже", то время выполнения изменится с переходом на летнее время.
Скорее всего, это зависит от вашей операционной системы и реализации cron
. Это невозможно в самой популярной реализации cron, vixie/isc cron
. Из руководства crontab(5)
:
LIMITATIONS
The cron daemon runs with a defined timezone. It currently does not
support per-user timezones. All the tasks: system's and user's will
be run based on the configured timezone. Even if a user specifies
the TZ environment variable in his crontab this will affect only
the commands executed in the crontab, not the execution of the crontab
tasks themselves.
Из руководства:
Демон будет использовать, если оно есть, определение из
/etc/time zone
для часового пояса.Окружение может быть переопределено в определениях кронтаба пользователя, но cron будет обрабатывать задачи только в одном часовом поясе.
Перенесите вашу работу на 8:00 и поспите один час, если вы находитесь в GMT+1
0 8 * * * [ "$(date +\%z)" = "+0100" ] && sleep 3600; place_your_command_here
В ответ на @Cyrus я сделал следующее:
Я создал скрипт, который проверяет смещение UTC:
#!/bin/bash
export TZ=":US/Eastern"
if [ "$(date +%z)" == "$1" ]; then
shift
exec $@
fi
Затем я добавляю два crontab записи для каждого смещения, которое я хочу:
0 8 * * * run-only-with-tz.sh -0400 place_your_command_here
0 9 * * * run-only-with-tz.sh -0500 place_your_command_here