質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
cron

cronは、Unix系OS上でデーモンプロセスとして動作する、スクリプトの自動実行が可能なジョブスケジューラです。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

Q&A

解決済

1回答

2590閲覧

cronで定期的にファイルを実行させたい

doz13189

総合スコア38

cron

cronは、Unix系OS上でデーモンプロセスとして動作する、スクリプトの自動実行が可能なジョブスケジューラです。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

0グッド

0クリップ

投稿2017/03/29 17:41

###前提・実現したいこと
test.shファイルをcronによって定期的に実行させたいと考えています。

###現在、登録しているcronの中身

* * * * * ubuntu /home/ubuntu/py3/mrkot/mypredict/test.sh > /dev/null 2>&1

ユーザー名の部分をubuntuに変更して記述していますが、それ以外はそのまま記述しています。
動作しているかをチェックしたいので、1分毎にcronが動作するよう設定しています。

test.shの中身

#!/bin/sh mkdir test

実行が確認できれば、何でも良いのでmkdir test にしています。
testフォルダが作成されれば、正常に動作していると判断できるようにしています。

###cronのシステムログ

3月 30 02:31:01 tk CRON[6289]: pam_unix(cron:session): session opened for user ubuntu by (uid=0) 3月 30 02:31:01 tk CRON[6290]: (ubuntu) CMD (ubuntu /home/ubuntu/py3/mrkot/mypredict/test.sh > /dev/null 2>&1 ) 3月 30 02:31:01 tk CRON[6289]: pam_unix(cron:session): session closed for user ubuntu

CMDが出ており、実行もされているとは思うのですが、testフォルダが作成されていないので、正常にcronが実行されているのかがわかりません。

cronは正常に実行しており、test.shの実行内容が悪いのか、あるいはcronが正常に動作していないのかがわかりません。

どなたか教えて下さい。

###補足情報(言語/FW/ツール等のバージョンなど)
より詳細な情報
ubuntu 16.04

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

コマンドのところにあるubuntuはなんでしょうか? そういうコマンドがあるんでしょうか? とりあえず ubuntuのところを sh とかにでもすると動きそうな気はします。

# before ubuntu /home/ubuntu/py3/mrkot/mypredict/test.sh # after /bin/sh /home/ubuntu/py3/mrkot/mypredict/test.sh

投稿2017/03/29 17:46

tell_k

総合スコア2120

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

doz13189

2017/03/29 18:01

ユーザー名としてubuntu入れていました。(必要ないのでしょうか??) /bin/shに変更してみたものの、実行はされませんでした。
tell_k

2017/03/29 18:14

「crontab -e」などで ubuntuユーザーのcrontabを編集&設定してるならユーザー名は必要ないと思いました。 「/home/ubuntu/test」 or 「/home/root/test」 どちらのかのホームディレクトリに test ディレクトリが作られてないでしょうか?
doz13189

2017/03/29 18:18

/home に作られていました! なるほど、crontabにアクセスした時点でユーザー名わかりますもんね。 ありがとうございます!!
tell_k

2017/03/29 18:28

なるほど。多分直接 /etc/crontab を編集した感じですかね? であれば doz13189さんが最初に書いたようにユーザー名をつけた方が良いと思います。 ubuntu /bin/sh /home/ubuntu/py3/mrkot/mypredict/test.sh cronの書式は、/etc/crontabに直接書く場合と、crontab -e や -u などでユーザーを指定した場合とで書式が違うので下記URLを参考にしてみてください。 https://www.express.nec.co.jp/linux/distributions/knowledge/system/crond.html
doz13189

2017/03/29 18:41

直接編集しました。 ご親切にどうもありがとうございます! 本当に助かりましたm(_ _)m
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問