「unix」はファイルに「/」と「\ 0」以外のすべてを含めることができることを知っていますが、システム管理者は、入力としてスペースを好むものがほとんどないため、はるかに小さい設定を持つ傾向があります... 「:」や「@」の特別な意味。
最近、ファイル名にタイムスタンプが使用されている別のケースを見ましたが、異なる形式で少し遊んで「より良い」ようにした後、私は考えたものではなく「ベストプラクティス」を見つけようと思いましたここで質問して、人々の考えを見てみましょう。
考えられる「一般的な」解決策(p = prefixおよびs = suffix):
syslog / logrotate / DNSのような形式:
p-%Y%m%d-suffix = prefix-20110719-s p-%Y%m%d%H%M-suffix = prefix-201107191732-s p-%Y%m%d%H%M%S-suffix = prefix-20110719173216-s
長所:
- それは「共通」であるため、「十分」は「最良」よりも優れている可能性があります。
- 変なキャラクターはいません。
- 「日付/時刻blob」を他のすべてのものと簡単に区別できます。
短所:
- 日付のみのバージョンは読みやすくなく、時間を含めると目が出血し、秒も「笑」になります。
- TZを想定しています。
ISO-8601-形式
p-%Y-%m-%d-s = p-2011-07-19-s p-%Y-%m-%dT%H:%M%z-s = p-2011-07-19T17:32-0400-s p-%Y-%m-%dT%H:%M:%S%z-s = p-2011-07-19T17:32:16-0400-s p-%Y-%m-%dT%H:%M:%S%z-s = p-2011-07-19T23:32:16+0200-s
長所:
- 場所がない。
- TZを考慮に入れます。
- 人間が読むのは「悪くない」(日付のみが良い)。
- $(date --iso = {hours、minutes、seconds})で生成できます
短所:
- scp / tar / etc。これらの「:」文字は気に入らないでしょう。
- 「普通の」人々が、「T」の目的であるWTFを見るには少し時間がかかります。最後にあるのは:)です。
- 多くの「-」文字。
rfc-3339フォーマット
p-%Y-%m-%d-s = p-2011-07-19-s p-%Y-%m-%d %H:%M%:z-s = p-2011-07-19 17:32-04:00-s p-%Y-%m-%d %H:%M:%S%:z-s = p-2011-07-19 17:32:16-04:00-s p-%Y-%m-%d %H:%M:%S%:z-s = p-2011-07-19 23:32:16+02:00-s
長所:
- TZを考慮に入れます。
- 「すべての人間」が簡単に読むことができます。
- 日付/時刻とプレフィックス/サフィックスを区別できます。
- 上記のいくつかは$(date --iso = {hours、seconds})で生成できます
短所:
- 時間バージョンにスペースがあります(つまり、すべてのコードがそれを嫌います)。
- scp / tar / etc。これらの「:」文字は気に入らないでしょう。
ハイフンが大好き:
p-%Y-%m-%d-s = p-2011-07-19-s p-%Y-%m-%d-%H-%M-s = p-2011-07-19-17-32-s p-%Y-%m-%d-%H-%M-%S-s = p-2011-07-19-23-32-16-s
長所:
- 基本的にわずかに優れたsyslog / etc。バリアント。
短所:
- 多くの「-」文字。
- TZを想定しています。
拡張機能付きのハイフンが大好きです:
p.%Y-%m-%d.s = p.2011-07-19.s p.%Y-%m-%d.%H-%M.s = p.2011-07-19.17-32.s p.%Y-%m-%d.%H-%M-%S.s = p.2011-07-19.23-32-16.s
長所:
- 基本的には、少しいい「ハイフンが大好き」のバリエーションです。
- 変なキャラクターはいません。
- 日付/時刻とプレフィックス/サフィックスを区別できます。
短所:
- 「。」を使用する ここはやや非伝統的です。
- TZを想定しています。
...だから誰もが好みと理由、または複数を与えたい(例えば、マシンのローカルにとどまるのが95%以上ならTZを気にかけないが、そうでなければたくさん気にする)。
または、明らかに、上記のリストにないもの。