<エバール>に変な(w/Crontab)
質問
このスニペットのバスクリプト書いログインCPUの負荷:
#!/bin/bash
# ... irrelevant nonsense ...
cmd1="/usr/bin/mpstat -P ALL | egrep '(AM|PM)([[:space:]]+)(0)' | tr -s ' ' | cut -d' ' -f4"
ldsys="$(echo $cmd1 | /bin/sh)"
# ... irrelevant nonsense ...
$ldsys
が正しく設定の時にスクリプトが実行され、従来からのソフトである。このゴールデン. この問題: 実行するととcrontab, $ldsys
は空になります。
って何百万ものは時間だこととんでもない...が見つからな 何.いいアイデア、浮かぶのでしょうか。
注記:
/usr/bin/mpstat
ができ 実行される cron.私は試験を追加する架空のタスクの火災毎分:/usr/bin/mpstat -P ALL >> somefile
確認を出力します。ことができる。egrep
,tr
, は、cut
すべての機能美の下cron.思い思いの<エバール>課題コンベンションセンターでもなぜだかよくわかりませんとすべきではないでしょうかを検討では比較的基礎の構築...るようにして、アダムの提案、いいことを考え何を思---
編集: 除 eval
利用...まだまだダイス
解決
また問題から mpstat
.時渋谷、のんべい横丁にあるバー。からのコマンドプロンプトでの出力の時間AM/PM.なが渋谷、のんべい横丁にあるバー。による cron
.として ennuikiller とでしょう環境問題です。自分のシステム echo $LANG
"を与えるen_US.UTF-8"をコマンドプロンプトも時走 cron
.このその他の環境変数に影響を与えう mpstat
出力回でき grep
のために"(AM|PM)"なのです。
ことだと思い:
ldsys=$(/usr/bin/mpstat ... )
くの課題"cmd1"、 eval
, は、 echo
の配管へ sh
?
他のヒント
お薦のためには、主に以下の問題:
This is perhaps our number one complaint with cron. When you login to Unix, startup scripts setup your environment. You can see your environment with the commands "printenv" or "env". On the other hand, cron sets up only a sparse environment
通常の出力プログラムが送信され、標準出力に出力(標準)、通風に誰かの画像を表示します。仕事を始めたd,標準出力に出力を向くこととなる地元メールのサブシステムは、任意の出力を生成すcronジョブに郵送することで、ユーザを所有する仕事
また釣りをした除 eval
?
の代わりに
ldsys=`eval $cmd1`
試
ldsys=`echo "$cmd1" | /bin/sh`
または
ldsys="$(echo $cmd1 | /bin/sh)"