定期更新してくれるcronのことで質問です。
vpsでcronを使ってphpファイルを定期更新しています。
phpファイルなどは定期更新できるのですが、
例えば実行コマンドなどは設定できるのでしょうか?
また、crontab -l とコマンドを入力すると以下のように表示されますが、
10 16 * * * root /usr/bin/php /var/html/Test1/test.php
実行コマンドを設定する場合、
この記載の仕方もどうすれば良いのか分かりません。
どなたか教えてください。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答4件
0
見たところ root とありますので、これはユーザの crontab ではなく /etc/cron.d 等にあるファイルかと思います。以下は crontab -l や crontab -e で表示されるユーザ用 crontab で説明します。
実行コマンドについても指定する事が出来ます。そのままコマンドを書いて下さい。実行するユーザのシェルを介してコマンドが実行されます。ただしコマンドを書いた場合、cron から実行するコマンドは .bashrc 等を読み込みませんのでユーザ独自の環境に依存したコマンドは実行出来ません。例えば rbenv 等。この場合
10 16 * * * /bin/bash -l php ...
の様に書く事が出来ますが何かの拍子に .bashrc を壊してしまう可能性もあるので、出来れば環境変数の値等も記述したスクリプトファイルを作ってそれを指定するか、crontab の各行の上に
FOO=BAR 10 16 * * * /bin/bash -l php ...
の様に記述して下さい。
もし最初に説明した様に crontab が -l で出力される様な物なのであれば root の文字を抜いてみて下さい。
投稿2018/01/30 09:18
総合スコア5030
0
今までの回答を見たうえでgulpのことはよくわからないですが別の観点で。
[気になった点1]
環境変数が設定されているのかどうか。具体的にはgulpコマンドが、cronを実行するときにちゃんと実行できるているのか。
試しに
10 16 * * * cd /var/html/Test1; /var/html/Test1/gulp -v > test.txt
とかやって、gulpコマンドのバージョンがtest.txtに吐き出されるかどうか見てみてはどうでしょうか。
バージョン情報がtest.txt内になかったらコマンドが実行自体出来ていないということになります。
環境変数(PATH)を設定するにはこの辺が参考になるかと。
https://qiita.com/positrium/items/a2de9af6c5b4d06b504e
[気になった点2]
実際に実行している
/var/html/Test1
ディレクトリの実行権限がどうなっているか。例えば、rootで普段は作業していて、Test1
ディレクトリをrootで作ったら、基本ディレクトリは644(root以外は読み込みしかできない)ので、ファイルを作成するとかはできないと思います。
上記のtest.txtをやってみてファイルが作成されていなかったら、その作業ディレクトリの権限を確認してみてはどうでしょうか。力業でやっちゃうのであれば/var/html/Test1を
chmod 755 /var/html/Test1
とか一時的に他ユーザでも書けるようにしちゃうとすぐ確認できるかも。
投稿2018/01/30 13:38
総合スコア208
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
ベストアンサー
もちろん、unix コマンドの実行もできます。
crontab ファイルの中身は、左から
分 時 日 月 曜日 ユーザー コマンド
が、スペース区切りで並んでいます。
質問にある
10 16 * * * root /usr/bin/php /var/html/Test1/test.php
の場合は、
10分 16時 *日 *月 *曜日に root ユーザーが、コマンド「/usr/bin/php /var/html/Test1/test.php」を実行するという意味になります。
また、日時の * は、常にと解釈されるので、「10分 16時 *日 *月 *曜日」を簡略化すると「毎日 16時10分」になります。
なお、一般ユーザーで、 crontab コマンドを実行して、設定する場合は、「ユーザー」の部分がなくなって、設定項目は、下記のようになります。 (自分の権限でしか実行できないので、ユーザーは、自分のユーザー名に固定です。)
分 時 日 月 曜日 コマンド
詳しくは、マニュアルを参照してください。
投稿2018/01/30 09:18
編集2018/01/30 09:19総合スコア25171
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/01/30 09:33
2018/01/30 09:52
2018/01/30 10:05
2018/01/30 10:08
2018/01/30 10:09
2018/01/30 10:14 編集
2018/01/30 10:35
2018/01/30 14:37
2018/02/01 02:37
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/01/30 09:34
2018/01/30 09:37
2018/01/30 10:07
2018/01/30 10:16
2018/01/30 10:37
2018/01/31 01:24
2018/01/31 01:31
2018/02/01 02:40