{"id":1252,"date":"2011-07-31T11:59:20","date_gmt":"2011-07-31T02:59:20","guid":{"rendered":"http:\/\/borg4.vdomains.jp\/~goro\/diary\/?p=1252"},"modified":"2011-07-31T11:59:20","modified_gmt":"2011-07-31T02:59:20","slug":"cron-%e3%81%ab%e5%88%a5%e3%82%8c%e3%82%92%e5%91%8a%e3%81%92-launchd-%e3%81%a8%e5%85%b1%e3%81%ab%e9%81%8e%e3%81%94%e3%81%9d%e3%81%86%e3%80%81%e4%bb%8a%e3%81%95%e3%82%89","status":"publish","type":"post","link":"https:\/\/borg4.vdomains.jp\/~goro\/diary\/2011\/1252","title":{"rendered":"cron \u306b\u5225\u308c\u3092\u544a\u3052 launchd \u3068\u5171\u306b\u904e\u3054\u305d\u3046\u3001\u4eca\u3055\u3089"},"content":{"rendered":"<p>Mac OS X \u3067\u306f cron \u306f launchd \u306b\u30ad\u30c3\u30af\u3055\u308c\u308b\u6271\u3044\u306a\u306e\u3067 launchd \u30de\u30b8\u304a\u52e7\u3081\u3001\u3068\u3044\u3046\u3053\u3068\u306f\u77e5\u3063\u3066\u306f\u3044\u305f\u306e\u3060\u3051\u3069\u3001\u4eca\u307e\u3067 Mac \u5074\u3067 cron \u3063\u307d\u3044\u3053\u3068\u3092\u3084\u308b\u5fc5\u8981\u304c\u306a\u304b\u3063\u305f\u306e\u3067\u30b9\u30eb\u30fc\u3057\u3066\u3044\u307e\u3057\u305f\u3002\u304c NetBSD \u306b\u5225\u308c\u3092\u544a\u3052\u308b\u306b\u3042\u305f\u308a\u3001\u4eca\u307e\u3067 NetBSD \u3067\u3084\u3063\u3066\u305f\u3053\u3068\u306f\u5168\u90e8 Lion Server \u3067\u540c\u3058\u3088\u3046\u306b\u3084\u308a\u305f\u3044\u3002\u3082\u3061\u308d\u3093 cron \u306f\u305d\u306e\u307e\u307e\u52d5\u304f\u306e\u3060\u3051\u3069\u3001\u305b\u3063\u304b\u304f OS \u304c\u5909\u308f\u308b\u306e\u3060\u304b\u3089\u305d\u306e\u6d41\u5100\u306b\u5f93\u304a\u3046\u3001\u3068\u3044\u3046\u3053\u3068\u3067\u4eca\u3055\u3089 launchd \u3092\u4f7f\u3046\u3053\u3068\u306b\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\u53c2\u8003\u306b\u3057\u305f\u306e\u306f\u4e0b\u8a18\u306e\u30b5\u30a4\u30c8\u3002<\/p>\n<ul>\n<li><a href=\"http:\/\/d.hatena.ne.jp\/zariganitosh\/20090308\">cron\u304b\u3089launchd\u3078\uff08\u3088\u308a\u52b9\u7387\u7684\u306a\u30b8\u30e7\u30d6\u7ba1\u7406\u3092\u76ee\u6307\u3057\u3066)<\/a><\/li>\n<li><a href=\"http:\/\/developer.apple.com\/library\/mac\/#documentation\/Darwin\/Reference\/ManPages\/man8\/launchd.8.html\">launchd(8)<\/a><\/li>\n<li><a href=\"http:\/\/www.devdaily.com\/mac-os-x\/launchd-plist-examples-startinterval-startcalendarinterval\">Mac OS X launchd plist StartInterval and StartCalendarInterval examples<\/a><\/li>\n<\/ul>\n<p>thanks a lot!!<br \/>\n<!--more--><br \/>\n\u79fb\u884c\u3057\u3066\u307f\u305f\u306e\u306f\u76f8\u5909\u308f\u3089\u305a\u304a\u4e16\u8a71\u306b\u306a\u308a\u3063\u3071\u306a\u3057\u3068\u3044\u3046\u304b\u306a\u3044\u3068\u751f\u6d3b\u3067\u304d\u306a\u3044\u30ec\u30d9\u30eb\u306e pkgsrc \u306e\u66f4\u65b0\u3002 crontab \u306b\u306f\u3053\u3093\u306a\u611f\u3058<\/p>\n<blockquote><p>30 5 * * 1-6 cd \/usr\/src\/pkgsrc &amp;&amp; cvs update -P -d &gt; \/dev\/null 2&gt;&amp;1<\/p><\/blockquote>\n<p>\u3067\u66f8\u3044\u3066\u307e\u3059\u304c\u3001\u3053\u308c\u3092 launchd \u5f62\u5f0f\u306b\u66f8\u304d\u76f4\u3057\u307e\u3059\u3002<br \/>\n\u30dd\u30a4\u30f3\u30c8\u3068\u3057\u3066\u306f<\/p>\n<ol>\n<li>\u30e6\u30fc\u30b6\u30fc\u6a29\u9650\u3067\u5b9f\u884c<\/li>\n<li>\u30e1\u30fc\u30eb\u304c\u30a6\u30b6\u3044\u306e\u3067 stdout\/stderr \u306f \/dev\/null \u9001\u308a<\/li>\n<\/ol>\n<p>\u3067\u3057\u3087\u3046\u304b\u3002<\/p>\n<p>\u3068\u3044\u3046\u3053\u3068\u3067\u53c2\u8003\u30b5\u30a4\u30c8\u3092\u898b\u306a\u304c\u3089\u9069\u5f53\u306b xml \u3092\u66f8\u3044\u3066\u307f\u308b\u3001\u3068\u3053\u3093\u306a\u611f\u3058<\/p>\n<blockquote>\n<pre>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;\r\n&lt;!DOCTYPE plist PUBLIC \"-\/\/Apple\/\/DTD PLIST 1.0\/\/EN\" \"http:\/\/www.apple.com\/DTDs\/PropertyList-1.0.dtd\"&gt;\r\n&lt;plist version=\"1.0\"&gt;\r\n&lt;dict&gt;\r\n    &lt;key&gt;Label&lt;\/key&gt;\r\n    &lt;string&gt;jp.hyrule.flora.src.pkgsrc&lt;\/string&gt;\r\n    &lt;key&gt;ProgramArguments&lt;\/key&gt;\r\n    &lt;array&gt;\r\n        &lt;string&gt;\/usr\/bin\/cvs&lt;\/string&gt;\r\n        &lt;string&gt;update&lt;\/string&gt;\r\n        &lt;string&gt;-Pd&lt;\/string&gt;\r\n    &lt;\/array&gt;\r\n    &lt;key&gt;WorkingDirectory&lt;\/key&gt;\r\n    &lt;string&gt;\/Volumes\/pkgsrc\/src\/pkgsrc&lt;\/string&gt;\r\n    &lt;key&gt;StartCalendarInterval&lt;\/key&gt;\r\n    &lt;dict&gt;\r\n        &lt;key&gt;Hour&lt;\/key&gt;\r\n        &lt;integer&gt;3&lt;\/integer&gt;\r\n    &lt;\/dict&gt;\r\n&lt;\/dict&gt;\r\n&lt;\/plist&gt;<\/pre>\n<\/blockquote>\n<p>\u3053\u308c\u3092\u9069\u5f53\u306a\u540d\u524d<span style=\"color: #888888;\">(\u30e9\u30d9\u30eb\u306b\u6e96\u3058\u3066 jp.hyrule.flora.src.pkgsrc.plist )<\/span>\u3067 ~\/Library\/LaunchAgents\/ \u306b\u4fdd\u5b58\u3057\u3066<\/p>\n<blockquote><p>launchctl load ~\/Library\/LaunchAgents\/jp.hyrule.flora.src.pkgsrc.plist<\/p><\/blockquote>\n<p>\u3068\u3084\u308b\u3068\u767b\u9332\u5b8c\u4e86\u3002\u2026 launchd \u304c\u304d\u3081\u7d30\u304b\u306a\u8a2d\u5b9a\u304c\u3067\u304d\u308b\u3068\u306f\u3044\u3048 cron \u306e\u5fa1\u624b\u8efd\u3055\u3082\u6368\u3066\u304c\u305f\u3044\u3082\u306e\u306f\u3042\u308a\u307e\u3059\u306a<span style=\"color: #888888;\">(\u7121\u7406\u306b lanuchd \u3092\u4f7f\u308f\u306a\u304f\u3066\u3082\u3044\u3044\u3060\u308d\u3046\u3068\u3044\u3046\u8a71\u3082\u3042\u308b)<\/span><br \/>\n\u624b\u9593\u53d6\u3063\u305f\u3068\u3053\u308d\u306f<\/p>\n<blockquote><p>Program<br \/>\nIf this key is missing, then the first element of the array of strings provided to the ProgramArguments will be used instead.<\/p><\/blockquote>\n<p>\u3068\u3044\u3046\u3042\u305f\u308a? Program \u306f\u306a\u3093\u306e\u305f\u3081\u306b\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u308b\u3093\u3060\u3068\u3044\u3046\u304b\u3001 ProgramArguments \u306e\u6700\u521d\u306e\u8981\u7d20\u304c\u30d7\u30ed\u30b0\u30e9\u30e0\u6271\u3044\u3068\u3044\u3046\u306e\u306f\u5fae\u5999\u306b\u6c17\u6301\u3061\u60aa\u3044\u3002<\/p>\n<p>\u3067\u3001\u3053\u308c\u3092\u767b\u9332\u3057\u3066\u653e\u7f6e\u3057\u3066\u305f\u3089 \/var\/log\/system.log \u306b<\/p>\n<blockquote><p>Jul 29 03:09:55 flora jp.hyrule.flora.src.pkgsrc[87752]: cvs update: Updating .<\/p><\/blockquote>\n<p>\u3068\u304b\u8868\u793a\u3055\u308c\u3061\u3083\u3063\u3066\u53ad\u3093\u3002\u4f55\u304c\u60aa\u3044\u304b\u3063\u3066\u30fc\u3068\u30dd\u30a4\u30f3\u30c8 2 \u756a\u76ee\u306e \/dev\/null\u3000\u3092\u5fd8\u308c\u3061\u3083\u3063\u305f\u304b\u3089\u306a\u3093\u3067\u3059\u306d\u3002<\/p>\n<p>\u3068\u3044\u3046\u3053\u3068\u3067\u3053\u3093\u306a\u611f\u3058\u306b\u4fee\u6b63<\/p>\n<blockquote>\n<pre>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;\r\n&lt;!DOCTYPE plist PUBLIC \"-\/\/Apple\/\/DTD PLIST 1.0\/\/EN\" \"http:\/\/www.apple.com\/DTDs\/\r\nPropertyList-1.0.dtd\"&gt;\r\n&lt;plist version=\"1.0\"&gt;\r\n&lt;dict&gt;\r\n        &lt;key&gt;Label&lt;\/key&gt;\r\n        &lt;string&gt;jp.hyrule.flora.src.pkgsrc&lt;\/string&gt;\r\n        &lt;key&gt;ProgramArguments&lt;\/key&gt;\r\n        &lt;array&gt;\r\n                &lt;string&gt;\/usr\/bin\/cvs&lt;\/string&gt;\r\n                &lt;string&gt;update&lt;\/string&gt;\r\n                &lt;string&gt;-Pd&lt;\/string&gt;\r\n        &lt;\/array&gt;\r\n        &lt;key&gt;WorkingDirectory&lt;\/key&gt;\r\n        &lt;string&gt;\/Volumes\/pkgsrc\/src\/pkgsrc&lt;\/string&gt;\r\n        &lt;key&gt;StartCalendarInterval&lt;\/key&gt;\r\n        &lt;dict&gt;\r\n                &lt;key&gt;Hour&lt;\/key&gt;\r\n                &lt;integer&gt;3&lt;\/integer&gt;\r\n        &lt;\/dict&gt;\r\n        <span style=\"color: #ff0000;\">&lt;key&gt;StandardOutPath&lt;\/key&gt;<\/span>\r\n        <span style=\"color: #ff0000;\">&lt;string&gt;\/dev\/null&lt;\/string&gt;\u00a0<\/span>\r\n        <span style=\"color: #ff0000;\">&lt;key&gt;StandardErrorPath&lt;\/key&gt;\u00a0<\/span>\r\n        <span style=\"color: #ff0000;\">&lt;string&gt;\/dev\/null&lt;\/string&gt;<\/span>\r\n&lt;\/dict&gt;\r\n&lt;\/plist&gt;<\/pre>\n<\/blockquote>\n<p>\u8a00\u3046\u307e\u3067\u3082\u306a\u304f\u8d64\u5b57\u304c\u5909\u66f4\u90e8\u5206\u3002\u3067 system.log \u306b\u306f\u5410\u304b\u308c\u306a\u304f\u306a\u308a\u307e\u3057\u305f\u3002<\/p>\n<p>\u3053\u306e StandardOutPath \u3084 StandardErrorPath \u3067 STDOUT \u3084 STDERR \u306e\u5410\u304d\u5148\u3092\u5909\u3048\u3089\u308c\u308b\u3063\u3066\u306e\u306f syslogd \u7d4c\u7531\u305b\u305a\u306b\u597d\u304d\u306a\u3068\u3053\u308d\u306b\u30ed\u30b0\u3063\u307d\u3044\u3082\u306e\u3092\u66f8\u304d\u51fa\u305b\u308b\u306e\u3067\u3001\u5730\u5473\u306b\u4fbf\u5229\u304b\u3082\u3057\u308c\u306a\u3044\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Mac OS X \u3067\u306f cron \u306f launchd \u306b\u30ad\u30c3\u30af\u3055\u308c\u308b\u6271\u3044\u306a\u306e\u3067 launchd \u30de\u30b8\u304a\u52e7\u3081\u3001\u3068\u3044\u3046\u3053\u3068\u306f\u77e5\u3063\u3066\u306f\u3044\u305f\u306e\u3060\u3051\u3069\u3001\u4eca\u307e\u3067 Mac \u5074\u3067 cron \u3063\u307d\u3044\u3053\u3068\u3092\u3084\u308b\u5fc5\u8981\u304c\u306a\u304b\u3063\u305f\u306e\u3067\u30b9\u30eb\u30fc\u3057\u3066\u3044 [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11,13],"tags":[54,53,30,23],"class_list":["post-1252","post","type-post","status-publish","format-standard","hentry","category-mac","category-netbsd","tag-launchd","tag-lion-server","tag-pkgsrc","tag-software"],"_links":{"self":[{"href":"https:\/\/borg4.vdomains.jp\/~goro\/diary\/wp-json\/wp\/v2\/posts\/1252","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/borg4.vdomains.jp\/~goro\/diary\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/borg4.vdomains.jp\/~goro\/diary\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/borg4.vdomains.jp\/~goro\/diary\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/borg4.vdomains.jp\/~goro\/diary\/wp-json\/wp\/v2\/comments?post=1252"}],"version-history":[{"count":16,"href":"https:\/\/borg4.vdomains.jp\/~goro\/diary\/wp-json\/wp\/v2\/posts\/1252\/revisions"}],"predecessor-version":[{"id":1268,"href":"https:\/\/borg4.vdomains.jp\/~goro\/diary\/wp-json\/wp\/v2\/posts\/1252\/revisions\/1268"}],"wp:attachment":[{"href":"https:\/\/borg4.vdomains.jp\/~goro\/diary\/wp-json\/wp\/v2\/media?parent=1252"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/borg4.vdomains.jp\/~goro\/diary\/wp-json\/wp\/v2\/categories?post=1252"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/borg4.vdomains.jp\/~goro\/diary\/wp-json\/wp\/v2\/tags?post=1252"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}