在厨师中创建具有时间戳的目录
问题描述:
我想从厨师食谱创建一个目录来备份我现有的工件。我想用以下格式创建备份目录。在厨师中创建具有时间戳的目录
appname_bkp_17-10-11-125845
例如我需要创建此目录并将目录名称添加到类似的变量中;
bkp_dir_name = appname_bkp_17-10-11-125845
请指教。
答
虽然厨师是一个DSL,但它仍然是首要的纯Ruby。在完成对Chef的委托之前,您应该尝试学习一些关于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
谢谢花瓶。我正在尝试做下面的事情。 'FileUtils.cp_r Dir.glob“#{node ['default'] ['home']}/standalone/deployments /('*。ear')”,“#{node ['default'] ['default_backup_path ']}/oms_bkp _#{time} /“' 这是给我下面的错误。你能帮我解决这个问题吗? TypeError:不隐式将String转换为Integer – kkrrss
你尝试过什么吗?你卡在哪里? –
我明白了。 'time = Time.now.strftime(“%F-%T”)' 'Dir.mkdir“#{node ['default'] ['default_backup_path']}/appname _#{time}” 但现在我的问题是如何使这个目录名称作为一个变量。 – kkrrss