web-dev-qa-db-ja.com

1時間ごとに実行可能ファイルを実行するようにcronジョブを設定する方法は?

1時間ごとにgccを使用してコンパイルされた実行可能ファイルを実行するcronジョブをセットアップする必要があります。

ルートとしてログインし、crontab -eと入力しました

次に、以下を入力してファイルを保存しました。

0 * * * *  /path_to_executable

ただし、cronジョブは機能しません。

/...path_to_executableと入力すると、セグメンテーション違反が発生することがわかります。実行可能ファイルは、それが置かれているフォルダーからのみ実行できます。この問題を解決する方法はありますか?

83
Anonymous
0 * * * * cd folder_containing_exe && ./exe_name

プログラムを実行するためにセットアップする必要のあるものが他にない限り、動作するはずです。

142
joast

これを解決する解決策は、セグメンテーション違反が発生している理由を見つけて修正することです。

8
David Thornley

@hourlyインスタント0 * * * *を使用することもできます

4
Marek Skiba

Ubuntuを使用している場合は、/etc/cron.daily/etc/cron.hourly/etc/cron.monthly、または/etc/cron.weeklyのいずれかのフォルダーにシェルスクリプトを配置できます。

詳細については、この投稿をご覧ください: https://askubuntu.com/questions/2368/how-do-i-set-up-a-cron-job

3
James Gentes

他のディレクトリから呼び出された場合、実行可能ファイルは実行に失敗しますか?これはむしろ実行可能ファイルのバグです。考えられる理由の1つは、実行可能ファイルがインストールされたフォルダーからのいくつかの共有ライブラリーを必要とすることです。環境変数LD_LIBRARY_PATHを確認できます

2
Jayan

C実行可能ファイルを実行できなかったため、次のことを行う簡単なShell scriptを作成しました

cd /..path_to_Shell_script
./c_executable_name

Cronジョブリストで、シェルスクリプトを呼び出します。

0
Anonymous

つかいます

path_to_exe >> log_file

コマンドの出力を表示するには、エラーをリダイレクトすることもできます

path_to_exe &> log_file

また、使用できます

crontab -l

編集が保存されたかどうかを確認します。

0
jartieda