rdiff-backup
команда создает возрастающие резервные копии путем создания нескольких файлов с метками даты в их заголовках. Метки даты имеют формат, определенный в Примечании W3 о дате и времени, которые являются по существу:
Полная дата плюс часы, минуты и секунды:
YYYY-MM-DDThh:mm:ssTZD (например, 1997-07-16T19:20:30+01:00)
Где T в середине является литеральный 'T', чтобы обозначить, что время запускается в этой точке.
Я хотел бы смочь зеркально отразить этот формат с помощью date
команда. До сих пор я имею:
date '+%FT%T%:z'
Который работает блестяще, если я нахожусь в каком-либо часовом поясе кроме GMT/UTC, давая вывод в ожидаемом формате.
Когда в часовом поясе GMT/UTC, строка часового пояса в конце должна быть произведена как буква Z
вместо тока +00:00
.
Я уверен, что мог сделать это путем получения части часового пояса с отдельным date
команда и изменение его, если это соответствует +00:00, или при помощи своего рода расширения параметра, если я сохраняю строку как переменную или возможно даже использование tr
. Есть ли прямой путь в date
опции команды, если не, как я должен достигнуть этого просто?
Я не думаю, что дата GNU имеет любую опцию для печати Z
вместо часового пояса UTC. Это достаточно легко с sed
:
$ date '+%FT%T%:z'
2017-01-24T14:06:39+00:00
$ date '+%FT%T%:z' | sed 's/+00:00$/Z/'
2017-01-24T14:07:52Z