<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Crond on qwerty.work</title>
        <link>https://qwerty.work/tags/crond/</link>
        <description>Recent content in Crond on qwerty.work</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>ja-JP</language>
        <lastBuildDate>Tue, 07 Apr 2015 10:15:27 +0900</lastBuildDate><atom:link href="https://qwerty.work/tags/crond/index.xml" rel="self" type="application/rss+xml" /><item>
            <title>バリューサーバーのcronでMovabletypeの再構築を自動化できない</title>
            <link>https://qwerty.work/post/2015/04/cron-movabletype-rebuild/</link>
            <pubDate>Tue, 07 Apr 2015 10:15:27 +0900</pubDate>
            <guid>https://qwerty.work/post/2015/04/cron-movabletype-rebuild/</guid>
            <description>&lt;p&gt;バリューサーバーのcronでMovabletypeの再構築を自動化できない&lt;/p&gt;&#xA;&lt;p&gt;昨日は&lt;a class=&#34;link&#34; href=&#34;http://qwerty.work/blog/2015/04/movabletype-rebuild-pages.php&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;バリューサーバーでMovabletypeの再構築を行うスクリプトの動作を確認できた&lt;/a&gt;ので、）あとはcronにそのスクリプトを登録し、毎日自動的に再構築をしようと**コントロールパネルの「CRONジョブの設定・編集」**に登録しました。&lt;/p&gt;&#xA;&lt;p&gt;ところが実行されていない！？あれ？？なんで？？&lt;/p&gt;&#xA;&lt;p&gt;ヘテムルの時は実行が成功したのか、エラーが出ているのかメールが届いていたのですが、メールも届かず、cronが動いているのかどうなのか、さっぱりわかりません。サポートも期待できないので、自己解決するためにいろいろ調べました。&lt;/p&gt;&#xA;&lt;h3 id=&#34;crondの動作状況を調べる&#34;&gt;crondの動作状況を調べる&#xA;&lt;/h3&gt;&lt;p&gt;cronを使用するためにcrondというやつが動いていないといけないみたいで、Tera Termを使ってレンタルサーバーにSSHで接続し、以下のコマンドで調べます。(SSHはTeraTermなどのSSHクライアントでバリューサーバーの場合、ホスト名：**.valueserver.jp、ユーザーID、FTPパスワードで接続します。）&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;# /etc/rc.d/init.d/crond status&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;すると、&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;crond (pid  *****) is running...&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;と返ってきたので、どうやらcronは動いているみたいです。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://qwerty.work/blog/2015/04/07/crond.png&#34; &gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;328px&#34; data-flex-grow=&#34;136&#34; height=&#34;292&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://qwerty.work/post/2015/04/cron-movabletype-rebuild/images/crond-s.png&#34; width=&#34;400&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;もし、cronが動いていなかったら&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;/etc/rc.d/init.d/crond start&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;再起動の場合は&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;/etc/rc.d/init.d/crond restart&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;&#xA;&lt;li&gt;参考：&lt;a class=&#34;link&#34; href=&#34;https://www.express.nec.co.jp/linux/distributions/knowledge/system/crond.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;https://www.express.nec.co.jp/linux/distributions/knowledge/system/crond.html&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;crontab--lでcronジョブの登録状況を調べる&#34;&gt;crontab -lでcronジョブの登録状況を調べる&#xA;&lt;/h3&gt;&lt;p&gt;SSHで以下のコマンドを打つ&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;crontab -l&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;すると「CRONジョブの設定・編集」に登録した内容が表示されました。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://qwerty.work/blog/2015/04/07/crontab-l.png&#34; &gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;328px&#34; data-flex-grow=&#34;136&#34; height=&#34;292&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://qwerty.work/post/2015/04/cron-movabletype-rebuild/images/crontab-l-s.png&#34; width=&#34;400&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;ちゃんと登録されているみたいです。&lt;/p&gt;&#xA;&lt;p&gt;じゃあなんで動かない！？&lt;/p&gt;&#xA;&lt;p&gt;昨日はSSHからcronで登録したファイルでちゃんとrebuild-pageｓを実行することができたのになんで？まだ何かエラーがあるの？&lt;/p&gt;&#xA;&lt;p&gt;とういうことで、cronで登録のファイルが実行されたときにどうなっているのかを知るために、今度はエラーメールが届くような方法がないか探したところ&lt;strong&gt;crontab　-e&lt;/strong&gt;で&lt;strong&gt;crontab -l&lt;/strong&gt;で表示されたリストに&lt;strong&gt;MAILTO=&amp;ldquo;&lt;a class=&#34;link&#34; href=&#34;mailto:user@example.com&#34; &gt;user@example.com&lt;/a&gt;&amp;rdquo;&lt;strong&gt;と宛先を入れればいいようです。（※&lt;strong&gt;contab -r&lt;/strong&gt;と打つとジョブが削除されますので隣同志の&lt;/strong&gt;e&lt;/strong&gt;と&lt;strong&gt;r&lt;/strong&gt;を打ち間違えないように注意）&lt;/p&gt;&#xA;&lt;h3 id=&#34;crontab--eでmailtoを追加する&#34;&gt;crontab -eでMAILTOを追加する&#xA;&lt;/h3&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;crontab -e&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;と打つと&lt;strong&gt;viエディタ&lt;/strong&gt;が起動し、&lt;strong&gt;crontab -l&lt;/strong&gt;で表示された内容が出てくるので、一番上の行にメールの宛先を入力します。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://qwerty.work/blog/2015/04/07/crontab-e.png&#34; &gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;328px&#34; data-flex-grow=&#34;136&#34; height=&#34;292&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://qwerty.work/post/2015/04/cron-movabletype-rebuild/images/crontab-e-s.png&#34; width=&#34;400&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;ただし、Linuxに慣れている方はご存知だとおもいますが、&lt;strong&gt;viエディタ&lt;/strong&gt;の操作は普通に文字を入力するようにできませんので注意。&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;viエディタの操作方法の参考：&lt;a class=&#34;link&#34; href=&#34;http://www.envinfo.uee.kyoto-u.ac.jp/user/susaki/command/vi.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;http://www.envinfo.uee.kyoto-u.ac.jp/user/susaki/command/vi.html&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;ちなみにTera Termでは以下できました。&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;iを押し入力モードにする&lt;/li&gt;&#xA;&lt;li&gt;カーソルで移動して最初の行を改行し、そこに**MAILTO=&amp;ldquo;&lt;a class=&#34;link&#34; href=&#34;mailto:user@example.com&#34; &gt;user@example.com&lt;/a&gt;&amp;rdquo;**と入力&lt;/li&gt;&#xA;&lt;li&gt;ESCを押して入力モードから出る&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;:wq&lt;/strong&gt; と打つと保存して終了&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;そして、ちゃんと保存できているかは&lt;strong&gt;crontab -l&lt;/strong&gt;で確認できます。&lt;/p&gt;&#xA;&lt;h3 id=&#34;cronを実行してみる&#34;&gt;cronを実行してみる&#xA;&lt;/h3&gt;&lt;p&gt;バリューサーバーのコントロールパネルの「CRONジョブの設定・編集」に2分後の時刻を設定してみましたが、設定の反映に1時間程度かかるようで、待っていられないので、SSHからcrontab -eで2～3分後の時間を設定してみました。&lt;/p&gt;&#xA;&lt;p&gt;すると、メールキター！！でもエラー！！&lt;/p&gt;&#xA;&lt;p&gt;BEGIN failed&amp;ndash;compilation aborted at /virtual/user-dir/bin/lib/perl5/&lt;strong&gt;Web/Scraper.pm&lt;/strong&gt; line 10.&lt;/p&gt;&#xA;&lt;p&gt;Compilation failed in require at ./tools/&lt;strong&gt;rebuild-pages&lt;/strong&gt; line 14.&lt;/p&gt;&#xA;&lt;p&gt;BEGIN failed&amp;ndash;compilation aborted at ./tools/&lt;strong&gt;rebuild-pages&lt;/strong&gt; line 14.&lt;/p&gt;&#xA;&lt;h3 id=&#34;webscraperの10行目を見る&#34;&gt;/Web/Scraperの10行目を見る&#xA;&lt;/h3&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;use HTML::TreeBuilder::XPath;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;とある。ですが、&lt;strong&gt;HTML::TreeBuilder::XPath&lt;/strong&gt;はインストールしてやったはず&amp;hellip;。もしかして、&lt;strong&gt;HTML::TreeBuilder::XPath&lt;/strong&gt;がどこにあるかわからないよいう意味でパスを入れてやればいいのかな？ということで、パスを挿入。&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;use lib (&amp;#34;/virtual/user-dir/perl5/lib/perl5&amp;#34;);&#xA;use HTML::TreeBuilder::XPath;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;rebuild-pagesの14行目を見る&#34;&gt;rebuild-pagesの14行目を見る&#xA;&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;/mt/tools/&lt;strong&gt;の中にある&lt;/strong&gt;rebuild-pages&lt;/strong&gt;を開くと&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;use Web::Scraper;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;とある。&lt;a class=&#34;link&#34; href=&#34;http://qwerty.work/blog/2015/04/movabletype-rebuild-pages.php&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;前回&lt;/a&gt;、これもパスを追加して対策したはず&amp;hellip;。&lt;strong&gt;Web::Scraper&lt;/strong&gt;は&lt;strong&gt;HTML::TreeBuilder::XPath&lt;/strong&gt;がないと動かない。ここにも&lt;strong&gt;HTML::TreeBuilder::XPath&lt;/strong&gt;のパスがいるのかな？何故か&lt;strong&gt;Web::Scraper&lt;/strong&gt;と&lt;strong&gt;HTML::TreeBuilder::XPath&lt;/strong&gt;の保存されている&lt;strong&gt;場所がそれぞれ違う&lt;/strong&gt;（多分インストールをミスった）。&lt;/p&gt;&#xA;&lt;p&gt;ということで、&lt;strong&gt;rebuild-pages&lt;/strong&gt;に&lt;strong&gt;HTML::TreeBuilder::XPath&lt;/strong&gt;のパスを追加。&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;#追加前&#xA;use lib (&amp;#34;$FindBin::Bin/../lib&amp;#34;, &amp;#34;$FindBin::Bin/../extlib&amp;#34;, &amp;#34;/virtual/user-dir/bin/lib/perl5&amp;#34;);&#xA;&#xA;#追加後&#xA;use lib (&amp;#34;$FindBin::Bin/../lib&amp;#34;, &amp;#34;$FindBin::Bin/../extlib&amp;#34;, &amp;#34;/virtual/user-dir/bin/lib/perl5&amp;#34;, &amp;#34;/virtual/user-dir/perl5/lib/perl5&amp;#34;);&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;そしてもう一度cron実行&#34;&gt;そしてもう一度cron実行&#xA;&lt;/h3&gt;&lt;p&gt;キター！！メールにsuccessの文字&lt;/p&gt;&#xA;&lt;p&gt;rebuilding (QWERTY.WORKブログ &amp;hellip;&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;      Individual built success.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;無事、毎日cronでMovabletypeの再構築が自動化されました。&lt;/p&gt;&#xA;&lt;p&gt;ただ、&lt;a class=&#34;link&#34; href=&#34;http://px.a8.net/svt/ejp?a8mat=2HJQ93&amp;#43;2GPLWY&amp;#43;1JUK&amp;#43;BWVTE&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;バリューサーバー&lt;/a&gt;は3分以上かかるスクリプトはダメみたいなので、全部の再構築をするのに時間が足りないため、インデックスやアーカイブページの再構築を個別に行うよう、cronジョブを複数に分けました。また、複数のジョブの間隔は1時間空けないといけないみたいなので、1時間5分間間隔で連続してcronを実行するようしました。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;http://px.a8.net/svt/ejp?a8mat=2HJQ93&amp;#43;2GPLWY&amp;#43;1JUK&amp;#43;BZ0Z5&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;&#xA;&lt;/a&gt;&lt;/p&gt;&#xA;</description>
        </item></channel>
</rss>
