Bir dosyayı şef ile nasıl yeniden adlandırabilirim?Bir dosyayı şefle yeniden adlandırmanın en iyi yolu
chef doc ben sadece bulundu:
- dokunmatik
Bir dosyayı şef ile nasıl yeniden adlandırabilirim?Bir dosyayı şefle yeniden adlandırmanın en iyi yolu
chef doc ben sadece bulundu:
Kullanım ruby_block ve kullanım iç :: File.Rename (silme create_if_missing oluşturmak src, dst). Şef çerçevesinde dosya yeniden adlandırılmamış (veya en az 0.10.18'e kadar) bulunmuyor. Sadece bir örnek
:
ruby_block "Rename file" do
block do
::File.rename(new_resource.src,new_resource.dst)
end
end
Eğer birden fazla dosya yeniden adlandırmak gerekirse bir başka seçenek. Zaten çalışıp çalışmadığını öğrenmek için kaynaklardan birini kontrol eder.
ruby_block "Rename file" do
block do
::Dir.glob("*/*.src").each {|i| File.rename(i, i.gsub(/(.*).src/,'\\1.dst'))};
end
not_if {File.exists?("new_resource.dst")}
end
Sadece merak ediyorum ... Bu idempotent mi? Demek istediğim ... Bu ikinci kez çalıştırıldığında ve "new_resource.src" artık mevcut değilse ne olur? – cassianoleal
Başarısız olacak. Bu sadece bir örnektir. Diskten dosyalar için kendinizi temin etmelisiniz. – Sacx
Bir bekçi yerleştirmez miydin? 'only_if {File.exists? (new_resource.src)} ' –