Cron工作没有运行由puppet创建

Ank*_*rma 4 linux cron puppet

我想将1个cron作业添加到将每5分钟运行一次的机器上,因为我正在使用此清单:

class cron_job{

    file{"puppet_ls":
            path => "/puppet/pls.sh",
            ensure => present,
            content => "#!/bin/sh\necho \"Hello World\"\nls -ltr /etc/puppet > /puppet/dump.txt"
    }

    file { "my_ls.cron":
        path    => "/etc/cron.d/my_ls.cron",
        ensure  => present,
        owner   => "root",
        group   => "root",
        mode    => 0644,
        require => File["puppet_ls"],
        content => "*/1 * * * *  /puppet/pls.sh\n";
    }
}
Run Code Online (Sandbox Code Playgroud)

所以这个清单做两件事,

  1. 它创建一个带有内容指定的文件/puupet/pls.sh,它实际上运行命令ls-ltr/etc/puppet
  2. 它以内部日常类别的cron作业形式输入,如果你看到最后一行即 ****/puppet/pls.sh \n,则表示每1分钟运行一次(为了测试,我保留了一个)

但是我没有在/ puppet /中获取文件dump.txt. 如果我运行sh /puppet/pls.sh,它运行完美并生成转储.

我无法理解故障在哪里.. :(

请说清楚..

谢谢Ankur

Ben*_*ley 7

你应该使用内置于木偶的cron类型.

file { '/puppet/pls.sh':
    content => "#!/bin/sh\necho \"Hello World\"\nls -ltr /etc/puppet > /puppet/dump.txt",
    mode    => 0755, 
}

cron { 'helloworld':   
   command => "/puppet/pls.sh",   
   user    => root,
   hour    => '*',   
   minute  => '*/5',
   require => File['/puppet/pls.sh']
}
Run Code Online (Sandbox Code Playgroud)
........