2017-10-11 6 views
-1

シェフのレシピから既存のアーティファクトをバックアップするディレクトリを作成します。私は次の形式でバックアップディレクトリを作成したいと思います。シェイプでタイムスタンプ付きのディレクトリを作成

appname_bkp_17-10-11-125845

たとえば、私はこのディレクトリを作成し、ディレクトリ名を次のような変数に追加する必要があります。

bkp_dir_name = appname_bkp_17-10-11-125845

お願いします。

+0

何か試しましたか?あなたはどこにいらっしゃいますか? –

+0

私はこれを手に入れました。 'time = Time.now.strftime("%F-%T ")' 'Dir.mkdir"#{node ['default'] ['default_backup_path']}/appname _#{time} "' しかし、今私の問題は、変数としてこのディレクトリ名を作る方法です。 – kkrrss

答えて

1

シェフはDSLですが、それは最初の一番純粋なRubyです。あなたがしたいことの多くは、あなたが言語を知っている方が効率的になるので、シェフにコミットする前に、Rubyの基本について少し学びましょう。

time = Time.now.strftime("%F-%T").gsub(':','') 
dir = "appname_bkp_#{time}" 
path = ::File.join(node['default']['default_backup_path'], dir) 

# Chef resource to create a directory with default properties 
directory path 
+0

おかげで花瓶。私は以下のようなことをしようとしています。 'File {{node ['default'] ['home']}/standalone/deployments /( ' ']}/oms_bkp _#{time}/"' これは私に以下のエラーを与えています。これで私を助けてくれますか? TypeError:暗黙的にStringを整数に変換しない – kkrrss

関連する問題