Ubuntu命令ln -fs

时间:2017-02-01 01:04:35

标签: ruby bash shell ubuntu nginx

在安装monit之后的mina-deploy脚本上,脚本会创建与受监视服务(如nginx等)的链接。

但在完成安装之前显示此错误, 有人知道什么是

ln -fs

shell上的

命令?

  

- - - - >设置Monit ......   ----->把monit / nginx.erb文件放到/ shared / config / monit / nginx bash:第82行:/ shared / config / monit / nginx:目录是$ sudo ln -fs“/ shared / config / monit / nginx”“/ “   -----> FAILED

脚本的其余部分

namespace :monit do

  desc "Install Monit"
  task :install do
    invoke :sudo
    queue %{echo "-----> Installing Monit..."}
    queue "sudo apt-get -y install monit"
  end

  desc "Setup all Monit configuration"
  task :setup do
    invoke :sudo
    if monitored.any?
      queue %{echo "-----> Setting up Monit..."}
      monitored.each do |daemon|
        invoke :"monit:#{daemon}"
      end
      invoke :'monit:syntax'
      invoke :'monit:restart'
    else
      queue %{echo "-----> Skiping monit - nothing is set for monitoring..."}
    end
  end


  task(:nginx) { monit_config "nginx" }
  task(:postgresql) { monit_config "postgresql" }
  task(:redis) { monit_config "redis" }
  task(:memcached) { monit_config "memcached" }
  task(:private_pub) { monit_config "private_pub", "#{private_pub_name}" }

  %w[start stop restart syntax reload].each do |command|
    desc "Run Monit #{command} script"
    task command do
      invoke :sudo
      queue %{echo "-----> Monit #{command}"}
      queue "sudo service monit #{command}"
    end
  end
end

1 个答案:

答案 0 :(得分:1)

ln的man-page将是一个良好的开端。

ln -fs [TARGET] [DIRECTORY]

在文件之间建立符号链接。 -f {"强迫"要更新的链接(如果已存在)。

鉴于您的错误消息中的措辞,我猜测/shared/config/monit/nginx不存在,这就是ln命令失败的原因。