Ich habe gerade angefangen, Chef zu verwenden, und ich versuche herauszufinden, wie man zuerst überprüft, ob eine Datei existiert, bevor Sie etwas tun.Chef-Rezept So überprüfen Sie, ob die Datei existiert
Ich habe die Teil-Datei für meinen aktuellen Anwendungsfall nach unten, wo ich eine Login-Datei für den Produktionsserver bin zu entfernen, ex:
file '/var/www/html/login.php' do
action :delete
end
Allerdings habe ich die abilty möchte zuerst zu prüfen, ob die Datei existiert z.
if (file_exists === true)
file '/var/www/html/login.php' do
action :delete
end
end
Warum brauchen Sie diese Fähigkeit? Prüft Chef nicht, ob der gewünschte Status des Systems dem von Ihnen beschriebenen Status entspricht, und ändert er nur Änderungen, wenn der gewünschte Status unterschiedlich ist? Welches aktuelle Problem oder welche Fehlermeldung versuchen Sie gerade zu lösen? –
Hey @DavidGrayson danke für die Antwort. Ich bin neu bei Chefkoch, also magst du recht in deinem Denken sein. Ich bekomme derzeit keine Fehler oder Probleme, aber ich bin es so gewohnt, bedingte Aussagen zu schreiben, dass es das Richtige zu tun schien - das könnte ein Fehler in meinem Denken sein, da ich immer noch Best Practices kenne wie Chef arbeitet. Muss ich in diesem Fall nicht prüfen, ob eine Datei existiert? Bedeutet, dass ich keinen Fehler bekommen werde, wenn die Datei nicht existiert und ich noch ein Rezept ausführe, das versucht, es zu löschen? – Corey
Normalerweise lösche ich Dateien nicht mit Chef, aber ich weiß, dass ich beim Erstellen keine "if" -Anweisungen benötige, daher sehe ich nicht, warum man beim Löschen eine "if" -Anweisung benötigt. –