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

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

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

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

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Ubuntu

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

Q&A

1回答

584閲覧

ubuntu cronを使ってpython3の自動実行を行いたい

yukas

総合スコア13

cron

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

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Ubuntu

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

0グッド

0クリップ

投稿2023/01/25 04:32

編集2023/01/25 05:23

前提

環境はubuntu

機械学習を実行しています。
様々なデータで実行を試したいのですが、実行時間が長く自動で実行できないかと考えています。

実現したいこと

時間を指定してpythonを実行したい
<以下参考>
https://maasaablog.com/development/backend/python/737/#toc10

発生している問題・エラーメッセージ

クーロンで時間を指定するが全く実行されません。

該当のソースコード

以下のコードで「今日(1/25)の13:00にデスクトップにあるlea4.pyを実行してほしい」と書いたつもりです。

00 13 25 1 * /home/u1948029/anaconda3/bin/python3 ホーム/デスクトップ/lea4.py

python3はwhichを使って調べました。

(base) u1948029@u1948029-All-Series:~$ which python3 /home/u1948029/anaconda3/bin/python3

試したこと

他の記事やyoutubeで調べてみるもわからず、時間をずらして何度か挑戦しましたが何も起こりませんでした。
なにかあれば教えていただきたいです。

補足情報(FW/ツールのバージョンなど)

学校のPCのためデスクトップやホームなど日本語表記で見苦しいですが見逃して下さい。

sudo less /var/log/syslog での抜粋

Jan 25 13:20:01 u1948029-All-Series CRON[38773]: (u1948029) CMD (/home/u1948029/anaconda3/bin/python3 \343\203\233\343\203\274\343\203\240/\343\203\207\343\202\271\343\202\257\343\203\210\343\203\203\343\203\227/lea4.py) Jan 25 13:20:01 u1948029-All-Series CRON[38772]: (CRON) info (No MTA installed, discarding output) Jan 25 13:20:12 u1948029-All-Series dbus-daemon[750]: [system] Activating via systemd: service name='org.freedesktop.hostname1' unit='dbus-org.freedesktop.hostname1.service' requested by ':1.269' (uid=1000 pid=38760 comm="gnome-control-center " label="unconfined") Jan 25 13:20:12 u1948029-All-Series systemd[1]: Starting Hostname Service... Jan 25 13:20:13 u1948029-All-Series dbus-daemon[750]: [system] Successfully activated service 'org.freedesktop.hostname1' Jan 25 13:20:13 u1948029-All-Series systemd[1]: Started Hostname Service. Jan 25 13:20:21 u1948029-All-Series gnome-terminal-[2249]: gnome-terminal-server has no capability of surrounding-text feature Jan 25 13:20:29 u1948029-All-Series gnome-terminal-[2249]: gnome-terminal-server has no capability of surrounding-text feature Jan 25 13:20:33 u1948029-All-Series systemd[1426]: vte-spawn-8aa753cf-bdd5-40fd-9a3a-43da6dfe149e.scope: Succeeded. Jan 25 13:20:36 u1948029-All-Series systemd[1426]: gnome-launched-gnome-control-center.desktop-38760.scope: Succeeded. Jan 25 13:20:43 u1948029-All-Series systemd[1]: systemd-hostnamed.service: Succeeded. Jan 25 13:21:26 u1948029-All-Series rtkit-daemon[966]: Supervising 6 threads of 4 processes of 2 users. Jan 25 13:21:28 u1948029-All-Series rtkit-daemon[966]: message repeated 9 times: [ Supervising 6 threads of 4 processes of 2 users.] Jan 25 13:25:52 u1948029-All-Series gnome-terminal-[2249]: gnome-terminal-server has no capability of surrounding-text feature Jan 25 13:25:53 u1948029-All-Series gnome-shell[1724]: ../clutter/clutter/clutter-actor.c:10546: The clutter_actor_set_allocation() function can only be called from within the implementation of the ClutterActor::allocate() virtual function. Jan 25 13:25:54 u1948029-All-Series gnome-terminal-[2249]: gnome-terminal-server has no capability of surrounding-text feature Jan 25 13:25:54 u1948029-All-Series systemd[1426]: Started Application launched by gnome-shell. Jan 25 13:25:54 u1948029-All-Series gnome-shell[38983]: # _g_io_module_get_default: Found default implementation gvfs (GDaemonVfs) for ‘gio-vfs’ Jan 25 13:25:54 u1948029-All-Series gnome-shell[38983]: # _g_io_module_get_default: Found default implementation dconf (DConfSettingsBackend) for ‘gsettings-backend’ Jan 25 13:25:54 u1948029-All-Series gnome-shell[38983]: # watch_fast: "/org/gnome/terminal/legacy/" (establishing: 0, active: 0) Jan 25 13:25:54 u1948029-All-Series gnome-shell[38983]: # unwatch_fast: "/org/gnome/terminal/legacy/" (active: 0, establishing: 1) Jan 25 13:25:54 u1948029-All-Series gnome-shell[38983]: # watch_established: "/org/gnome/terminal/legacy/" (establishing: 0) Jan 25 13:25:54 u1948029-All-Series systemd[1426]: Started VTE child process 38989 launched by gnome-terminal-server process 2249. Jan 25 13:25:54 u1948029-All-Series systemd[1426]: gnome-launched-org.gnome.Terminal.desktop-38980.scope: Succeeded. Jan 25 13:25:56 u1948029-All-Series gnome-terminal-[2249]: gnome-terminal-server has no capability of surrounding-text feature Jan 25 13:25:58 u1948029-All-Series gnome-terminal-[2249]: message repeated 3 times: [ gnome-terminal-server has no capability of surrounding-text feature] Jan 25 13:25:58 u1948029-All-Series crontab[39005]: (u1948029) LIST (u1948029) Jan 25 13:25:58 u1948029-All-Series gnome-terminal-[2249]: gnome-terminal-server has no capability of surrounding-text feature Jan 25 13:29:02 u1948029-All-Series gnome-terminal-[2249]: message repeated 19 times: [ gnome-terminal-server has no capability of surrounding-text feature] Jan 25 13:29:08 u1948029-All-Series gnome-shell[2716]: [GFX1-]: GFX: RenderThread detected a device reset in PostUpdate Jan 25 13:30:01 u1948029-All-Series CRON[39022]: (root) CMD ([ -x /etc/init.d/anacron ] && if [ ! -d /run/systemd/system ]; then /usr/sbin/invoke-rc.d anacron start >/dev/null; fi) Jan 25 13:32:29 u1948029-All-Series rtkit-daemon[966]: Supervising 6 threads of 4 processes of 2 users. Jan 25 13:32:29 u1948029-All-Series rtkit-daemon[966]: Supervising 6 threads of 4 processes of 2 users. Jan 25 13:32:57 u1948029-All-Series gnome-terminal-[2249]: gnome-terminal-server has no capability of surrounding-text feature Jan 25 13:33:09 u1948029-All-Series rtkit-daemon[966]: Supervising 6 threads of 4 processes of 2 users. Jan 25 13:34:29 u1948029-All-Series rtkit-daemon[966]: message repeated 5 times: [ Supervising 6 threads of 4 processes of 2 users.] Jan 25 13:35:10 u1948029-All-Series systemd[1]: Started Run anacron jobs. :```

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

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

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

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

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

melian

2023/01/25 04:45

Ubuntu の場合、/var/log/syslog に cron の実行ログが出力されます。例えば以下の様な行になります。 Jan 25 13:05:02 nemo CRON[850319]: (root) CMD (command -v debian-sa1 > /dev/null && debian-sa1 1 1) 実行に失敗しているとエラーメッセージなどが出力されているかもしれませんので、確認してみるとよいかと思います。
yukas

2023/01/25 04:51

ありがとうございます。早速見てみると、bash: /var/log/syslog: 許可がありませんと出てきました。 許可を得る方法としてファイルをいじる?と出てきたので一度やってみようとはおもいますが、もしかしたらできないのかもしれないです。
melian

2023/01/25 04:57

ああ、すみません、root 権限がないと /var/log/syslog ファイルをみることができないのだと思います。sudo コマンドを使うことができればよいのですが、学校の PC だと難しいかもしれませんね。
yukas

2023/01/25 05:08

sudo /var/log/syslog と打ってみるとパスワードが要求され、パスワードを入力すると sudo: /var/log/syslog: コマンドが見つかりませんと表示がありました。 sudoは使えそうなのですが使い方が間違ってるんですかね...
melian

2023/01/25 05:10

less コマンドを使ってみてください。 sudo less /var/log/syslog
yukas

2023/01/25 05:17

less を使うと閲覧できました!ただ、たくさん書いてあって何がなんだかわかりません。😢 見るべきポイントを教えていただけないでしょうか?
melian

2023/01/25 05:26 編集

内容を表示した段階で スラッシュ(/)キーを押して下さい。そうすると検索モードに入りますので、 Jan 25 13: を入力してリターンキーを押します。そうすると、今日の13時の記録の所に移動してくれますので、その辺りのログを読んでみて下さい。
melian

2023/01/25 05:31

入れ違いになってしまいましたが、もしかして、 ホーム/デスクトップ/lea4.py という文字列をそのまま crontab ファイルに書き込んでいますか? その場合、おそらくは ホーム というディレクトリ名が正しくないのだと思います。
yukas

2023/01/25 05:48

ありがとうございます!確認してもう一度実行を試してみます!
guest

回答1

0

まず、何が起きているのか把握するために、

  • システムのログを確認する。
    sudo less /var/log/messages

  • 実行結果を確認する
    cron実施時のコマンドの出力はメールで通知されますので、メールを確認します。
    メールの確認がむずかしいようであれば、以下のように、cronのエントリでログの出力ファイルを指定します。(こちらが一般的)

shell

100 13 25 1 * /home/u1948029/anaconda3/bin/python3 ホーム/デスクトップ/lea4.py > /path/to/logfile 2>&1

★ /path/to/logfile はそのままではなく、適切なログファイルのパスに変更してください。
★ 2>&1 は標準エラー出力も同じところに出力する指定なので、このまま入れてください。

たぶん「ホーム/デスクトップ/lea4.py」のパスがみつからないということだと思うので、これを絶対パスにしてみる。

もしかすると、PATHなどの環境変数回りのエラーかもしれない。

投稿2023/01/25 06:26

TakaiY

総合スコア12745

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問