该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
,如果没有,我应该如何简单地实现这一点?
答案1
我不认为 GNU date 有任何选项可以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