2017-02-09 1 views
0

Я хочу переместить файл из одного места в другое в Windows Server с помощью шеф-повара. Я передаю целевой каталог в качестве переменной, ее не работает ... любые указателиПереместить (вырезать-вставить) файл в Windows Server с помощью шеф-повара

directory_name = e:\\temp 
execute 'copy_MSlog' do 
    command move "E:\\Test\\Untitled.png #{directory_name}" 
end 
+0

И это не сработает при следующем запуске, потому что источник больше не существует ... Кроме того, ваш фактический код не должен компилироваться, потому что «e: \\ temp» не является цитатой при определении имени_каталога. Расскажите о своей фактической цели, возможно, есть еще один способ решить эту проблему. – Tensibai

+0

@ Tensibai, вот фактическая цель ...., у меня есть файл журнала в E: /App/Wind/logs/LCS.log, который постоянно растет, моя цель - остановить сервер приложений, переместить log файл из E:/App/Wind/logs в F:/Archive/Log_ , здесь Log_ является переменной и сгенерирован в коде шеф-повара – Sandeep540

+0

, что является задачей для запланированной задачи, а не для шеф-повара. Шеф-повар можно использовать для настройки самой задачи. Что-то вроде logrotate под Linux (я сделал уродливый порт o'ce. Но есть, вероятно, больше профессиональных инструментов) – Tensibai

ответ

1

К сожалению, файл перемещается с шеф-поваром немного рискованный, так как они трудно сделать идемпотент и сходящимися. Вам нужно исправить вашу цитату, но в противном случае вы на правильном пути. Используйте защитные ограждения not_if или only_if, чтобы обеспечить идемпотенцию, и вы должны быть настроены.

Смежные вопросы