/ / Crontab絶対パスが動作しない - cron、crontab

Crontabの絶対パスが機能しない - cron、crontab

データベースをバックアップするスクリプトがあります /home/<user>/bin/dbbackup。このスクリプトはすべてのユーザーによって実行可能で、私が所有しています。ファイル /etc/cron.allow そして /etc/cron.deny 存在しない。

私の crontab 私は次の行を持っています(コードの最後の行の後に新しい空白行を含みます):

@reboot /home/<user>/.dropbox-dist/dropboxd

30 2 * * * bash /home/<user>/bin/dbbackup

しかし、cronは私の dbbackup スクリプト。私はスクリプトの手動テストを実行するときに動作します。コマンドラインでこのテストを実行すると、次のようになります。 * * * * * /bin/echo "cron works" >> ~/file 次のエラーが表示されます。

No command "dbbackup" found, did you mean:
Command "dvbackup" from package "dvbackup" (universe)
Command "tdbbackup" from package "tdb-tools" (main)
dbbackup: command not found

私のサーバはUbuntu Trustyを実行しています。助けてください?

回答:

回答№1は0

コメントに記されているように、amiga_osは行のbashへの参照を削除する必要があるようです。

30 2 * * * bash /home/<user>/bin/dbbackup

すべきだ。

30 2 * * * /home/<user>/bin/dbbackup

私は通常、そのパスからスクリプトを呼び出すだけですスクリプトの最初の行に "#!/ bin / bash"(またはbashが存在する場所)を使用してください。 amiga_osはすでにこれを行っていたようですが、これは良いことです。私は文章をcronに入れるのは気にならないので気にしない。

私はそれがcronがユーザーはbashプロファイルを読んでいないので、$ PATHにアクセスできないため、シェルのようには動作しません。