blog/content/post/2009/04/12/2009-04-12-cronが実行される際のpath.md

35 lines
2.2 KiB
Markdown
Raw Normal View History

2019-03-31 11:00:21 +00:00
---
title: cronが実行される際のpath
author: kazu634
date: 2009-04-12
url: /2009/04/12/_1225/
wordtwit_post_info:
- 'O:8:"stdClass":13:{s:6:"manual";b:0;s:11:"tweet_times";i:1;s:5:"delay";i:0;s:7:"enabled";i:1;s:10:"separation";s:2:"60";s:7:"version";s:3:"3.7";s:14:"tweet_template";b:0;s:6:"status";i:2;s:6:"result";a:0:{}s:13:"tweet_counter";i:2;s:13:"tweet_log_ids";a:1:{i:0;i:4555;}s:9:"hash_tags";a:0:{}s:8:"accounts";a:1:{i:0;s:7:"kazu634";}}'
categories:
- cron
- linux
---
<div class="section">
<p>
cronが実行されるときはログインした際の環境変数が用いられません。そのためにコマンドを実行しても、pathが通っていないとお叱りを受けることがあります。今回はどのようにすれば「pathが通っていない」というお叱りを受けずに済むかを調べてみました。
</p>
<p>
結論から言うと、crontabの先頭にpathという項目を作成すればいいようです(参考: 「<a href="http://mylinux.g.hatena.ne.jp/teraco/20081208/1228696758" onclick="__gaTracker('send', 'event', 'outbound-article', 'http://mylinux.g.hatena.ne.jp/teraco/20081208/1228696758', 'crontabで設定したタスク実行時に、メールを送信しないようにする。 &#8211; 今日も元気にlinux &#8211; mylinuxグループ');" target="_blank">crontabで設定したタスク実行時に、メールを送信しないようにする。 &#8211; 今日も元気にlinux &#8211; mylinuxグループ</a>」)。たとえば
</p>
<pre class="syntax-highlight">
<span class="synIdentifier">SHELL</span>=/bin/bash
<span class="synIdentifier">PATH</span>=/sbin:/bin:/usr/sbin:/usr/bin
<span class="synIdentifier">MAILTO</span>=<span class="synStatement">&#34;&#34;</span>
<span class="synIdentifier">HOME</span>=/
<span class="synComment"># m h dom mon dow command</span>
<span class="synConstant"></span> <span class="synConstant">5</span> * * * /var/samba/util/collect_conf
<span class="synConstant"></span> <span class="synConstant"></span> <span class="synConstant">1</span> * * /var/samba/util/update_aptitude
</pre>
<p>
というように設定すると、pathが通るようです。
</p>
</div>