[解決済み] [Solved] crontabが使用する環境変数はどこで設定できますか?
2022-03-27 01:08:03
質問
1時間ごとにクーロンタブを走らせています。実行中のユーザーは、環境変数を
.bash_profile
しかし、明らかにこれらはcrontabが実行するときにピックアップされません。
で設定してみました。
.profile
と
.bashrc
が、まだ拾われていないようです。どなたか、crontabが拾えるような環境変数を置く場所をご存知でしょうか?
解決方法は?
コマンドを実行する前に、環境を設定するシェルスクリプトを'cron'に実行させる。
常に
# @(#)$Id: crontab,v 4.2 2007/09/17 02:41:00 jleffler Exp $
# Crontab file for Home Directory for Jonathan Leffler (JL)
#-----------------------------------------------------------------------------
#Min Hour Day Month Weekday Command
#-----------------------------------------------------------------------------
0 * * * * /usr/bin/ksh /work1/jleffler/bin/Cron/hourly
1 1 * * * /usr/bin/ksh /work1/jleffler/bin/Cron/daily
23 1 * * 1-5 /usr/bin/ksh /work1/jleffler/bin/Cron/weekday
2 3 * * 0 /usr/bin/ksh /work1/jleffler/bin/Cron/weekly
21 3 1 * * /usr/bin/ksh /work1/jleffler/bin/Cron/monthly
~/bin/Cron にあるスクリプトは、すべて 'runcron' という一つのスクリプトへのリンクで、次のようなものです。
: "$Id: runcron.sh,v 2.1 2001/02/27 00:53:22 jleffler Exp $"
#
# Commands to be performed by Cron (no debugging options)
# Set environment -- not done by cron (usually switches HOME)
. $HOME/.cronfile
base=`basename $0`
cmd=${REAL_HOME:-/real/home}/bin/$base
if [ ! -x $cmd ]
then cmd=${HOME}/bin/$base
fi
exec $cmd ${@:+"$@"}
(古いコーディング規約で書かれたものです。今なら冒頭にシバン「#!」をつけます)
~/.cronfile' は cron で使用するための私のプロファイルのバリエーションで、厳格に非インタラクティブで、うるさいからということでエコーもかけない。 代わりに.profileなどを実行するようにアレンジすることができます。 (REAL_HOMEのものは私の環境の産物です - $HOMEと同じだと思えばいいのです)。
つまり、このコードは適切な環境を読み取り、私のホーム・ディレクトリから非Cronバージョンのコマンドを実行するのです。 ですから、例えば、私の'weekday'コマンドは次のようになります。
: "@(#)$Id: weekday.sh,v 1.10 2007/09/17 02:42:03 jleffler Exp $"
#
# Commands to be done each weekday
# Update ICSCOPE
n.updics
daily」コマンドはもっとシンプルです。
: "@(#)$Id: daily.sh,v 1.5 1997/06/02 22:04:21 johnl Exp $"
#
# Commands to be done daily
# Nothing -- most things are done on weekdays only
exit 0
関連
-
[解決済み] at&tアセンブリの「push」と「pushq」の違いは何ですか?
-
[解決済み] 共有ライブラリの読み込み中にエラーが発生しました: libncurses.so.5:
-
[解決済み] Node.jsで環境変数を読み込む
-
[解決済み] Linux で grep を使ってファイル名だけを表示するにはどうしたらいいですか?
-
[解決済み] コマンドラインからすべての環境変数をリストアップ
-
[解決済み] Dockerコンテナに環境変数を渡すにはどうしたらいいですか?
-
[解決済み] php.iniはどこにありますか?
-
[解決済み] キーと値のペアのファイルから環境変数を設定する
-
[解決済み] Mac OS X Lionで環境変数を設定する
-
[解決済み】Mac OS Xの環境変数について
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] pkg-configが見つからないエラー
-
[解決済み] sysrootとは何ですか、そしてどのように作成しますか?
-
[解決済み】gcc: エラー: 認識されないコマンドラインオプション
-
[解決済み] GNUアセンブラを使ってx86_64でprintfを呼び出す
-
[解決済み] svn diffコマンドの使用
-
[解決済み] STRACEがEAGAINを表示する理由(リソースが一時的に使用できないため)
-
[解決済み] ユーザーデータスクリプトは私のカスタムAMIでは動作しませんが、標準のAmazon linuxでは動作しています。
-
[解決済み] Tarエラーです。アーカイブ内の予期しないEOF
-
[解決済み] LinuxでXcodeを動かせるか?
-
[解決済み] CMakeエラーです。このプロジェクトでは次の変数が使用されていますが、NOTFOUND に設定されています。