클라이언트의 디렉토리에 tar 파일을 배포하는 모듈을 만들고 있습니다. 따라서 tar 파일이 변경 될 때마다 '20150204130312'와 같은 datetime 스탬프가있는 새 디렉토리에 배포됩니다. 이 시점까지 잘 작동합니다. 모듈의 디렉토리에 해당 날짜 시간 스탬프를 생성 중입니다.퍼핏은 Exec 후에 만 타임 스탬프가 포함 된 링크를 만듭니다.
모듈이 실행될 때마다 날짜와 시간이 매번 생성되지만 tar 파일이 정상적으로 업데이트되면 디렉토리 만 생성됩니다. 이 후 tar가 추출 된 폴더에 대한 링크를 만들고 싶습니다. 나는 그 링크가 tar 파일이 추출 된 경우에만 생성되기를 원한다. 그러나 타르가 추출되지 않아도 링크가 업데이트 될 때마다 날짜와 시간 스탬프가 변경되기 때문에 인형극이 실행될 때마다 지금 당장 링크가 업데이트됩니다.
exec에서 알림을 사용하고 파일 리소스에 대한 요구를했지만 그다지 효과가 없습니다. $ 해줄 타르 파일이 간부 추출 될 때 링크 만 생성됩니다 그래서 종속성을 생성하는 방법을
$rel_dir= "/data/agrod/releases";
$dir= generate('/bin/date', '+%Y%m%d%H%M%S')
exec { "untar $targz":
command => "/bin/mkdir -p $rel_dir/$dir/; /bin/tar xzvf /tmp/$targz -C $rel_dir/$dir",
refreshonly => true,
require => File["/tmp/$targz"],
notify => File["/data/agrod/current"], }
file { "/data/agrod/current":
ensure => 'link',
target => "/data/agrod/$dir",
require => Exec["untar $targz"],
}
를 사용하여 모듈에서 생성 된 타임 스탬프를 가지고있다. 나는 링크를 만드는 데 exec를 사용하고 싶지 않다. 이것이 가능한지 나는 모른다.