Dosya adının bir parçası olarak tarih/saat kullanmak için standart bir biçim aradım ve hiçbir şey bulamadım.
Sorum iki bölümden oluşuyor:
Zaman damgası kullanıyor
benzersiz uygulamak dosya adlarında kötü bir uygulama?
Ben oluşturma tarihinden itibaren zaman alabilir ve dosya adlarını serileştirmek (file0001.bak, file0002.bak, vb) ama sadece zaman damgası dahil
mv 2011-01* somewhere/ Gibi dosya işlemleri gerçekleştirmek sağlar. Bu tür adlandırma sistemini kullanmanın bir dezavantajı var mı?
Kullandığım biçim
YYYY-mm-dd_HH-MM-SS.
Kullanmam gereken daha iyi bir format var mı?
Bu format ile dosya sistemi uyumluluğu, str_to_date_parsing endişeleri vb.
Teşekkürler!
düzenle:
Ben bir cronjob kullanarak yedekleme üreten tek bir kullanıcı (herhangi bir eşzamanlılık sorunu olmamalıdır) çünkü zorlamak benzersiz bit dışarıda bırakmak isteyebilirsiniz.
ISO 8601 biçimini göz önünde bulundurmalısınız (2013-04-01T13: 01: 02). Evet, bunlar için standartlar var. Sütunlar ve kısa çizgiler göz ardı edilebilir.
Genellikle kullandığım biçim dizesi
%Y%m%dT%H%M%S verim 20130401T130102. Gereksinimlere bağlı olarak değerleri soldan çıkarıyorum. Bir bash betiğinde tarih gibi bir çizgi ile olsun:
LOGDATE=$(date +%Y%m%dT%H%M%S)
Dosya adının bir parçası olarak tarih/saat kullanmak için standart bir biçim aradım ve hiçbir şey bulamadım.
Sorum iki bölümden oluşuyor:
Benzersiz dosya adlarını zorunlu kılmak için zaman damgası kullanmak kötü bir uygulama mıdır?
Hayır, bu iyi.
Oluşturma tarihinden itibaren zamanı alabilir ve dosya adlarını serileştirebilirim (file0001.bak, file0002.bak, vb.)
Bunları sırayla numaralandırmak daha fazla iştir. Zaman damgasını artan ancak sıralı olmayan bir numaralandırma olarak düşünün.
ancak sadece zaman damgası dahil mv 2011-01 * gibi bir yerde dosya işlemleri gerçekleştirebilmenizi sağlar. Bu tür adlandırma sistemini kullanmanın bir dezavantajı var mı?
Hayır, her zaman yapılır.
Kullandığım biçim YYYY-aa-gg_HH-AA-SS.
Bu iyi, çünkü kronolojik sırayla sıralayacaklar. Alt çizgiyi kaybederim, çünkü kısa çizgi yazmak daha kolaydır.
Kullanmam gereken daha iyi bir format var mı?
Pek sayılmaz.
Uygulamanıza bağlıdır. Bazen tarif ettiğiniz gibi bir zaman damgası kullanılabilir. Bazen isim çarpışması bir endişe olduğunda GUID jeneratörü kullanabilirsiniz.
ISO 8601 biçimini kullanmak, dosyaları tarihe göre sıralamanıza da izin verir (hepsinin aynı ön eke sahip olduğu varsayılarak).
Kullandığınız biçim iyi ancak benzersizlik istiyorsanız ve zamanın başka bir anlamı yoksa, uygulama aynı anda birden fazla kullanıcı tarafından kullanılıyorsa ve hepsi dosyaların aynı şekilde oluşturulmasına neden oluyorsa, uygulamanızda eşzamanlılık sorunu yaşayabilirsiniz. Klasör. Sadece benzersizlik istiyorsanız, GUID üretilmesini ve süslü parantez ve tire gibi geçersiz karakterleri kaldırmayı ve dosya adı olarak kullanabilirsiniz.