ここに初めてのユーザー。2ファイルに書き込むためのwgetが必要
のLinuxスパイク4.4.36-サーバ2.mga5#1 SMP火12月6日午後05時32分56秒UTC 2016 x86_64のx86_64でのx86_64のGNU/Linuxののlinux-gnuの上に構築された
GNU Wgetは1.15
GNUのbashのバージョン4.3.48(1)-release(x86_64版-mageia-のlinux-gnuの)私は、ファイルをダウンロードするためにwgetのを使用してcronジョブを持っている
。簡単な仕事。私は自分の電子メールでその仕事の検証を見たいと思う。私はこれをうまく機能させるのに部分的に成功しましたが、電子メールはwgetログ情報ではなくcronの出力で表示されます。ここに例があります。
cronジョブ:動作しますが、私のメールが全体wgetのログを運ぶ
wget --user=<usr> --password=<passwd> -O /usr/share/xplanet/images/clouds.jpg http://xplanetclouds.com/clouds/2048/clouds_2048.jpg -a /usr/share/xplanet/logs/clouds.log
(:このcronジョブによって初期化
/usr/local/bin/update_clouds.sh ; /usr/bin/mail -s "Attempted Cloud Update" -r [email protected] [email protected] < /usr/share/xplanet/logs/update_clouds.txt
シェルスクリプト(update_clouds.sh)は、この行います/usr/share/xplanet/logs/clouds.log)を参照してください。私はちょうど最後の取引がその電子メールに表示されるようにしたい。
最初は、wgetのログオプション-oと-aの両方を使用できると思っていました。システムログに追加して、自分のメールの本文に必要なファイルを上書きすることはできますが、それはうまくいきません。 Wgetは、コマンドラインで最後のオプションを使用するだけで、両方を使用することはありません。
私はちょうどwgetのログから最後の30行を取り出して郵送したという解決策を得ました。それはうまくいったが、非効率的で醜い。
/usr/local/bin/update_clouds.sh ; tail -30 /usr/share/xplanet/logs/clouds.log > /usr/share/xplanet/logs/update_clouds.txt ; /usr/bin/mail -s "Attempted Cloud Update" -r [email protected] [email protected] < /usr/share/xplanet/logs/update_clouds.txt
私は "tee"を使ってみましたが、どちらも動作しませんでした。あたかもteeが何も通らず空のファイルを生成しているようです。私は電子メールを受け取りますが、体には何もありません。私は前にティーを使用したことがないし、私はそれにハンドルを持っているか分からない。
wget --user=mark9118 --password=xplanetmap -O /usr/share/xplanet/images/clouds.jpg http://xplanetclouds.com/clouds/2048/clouds_2048.jpg -a /usr/share/xplanet/logs/clouds.log 2>&1 |tee /usr/share/xplanet/logs/update_clouds.txt
これまでに読んだことがある場合は、この猫に多くのスキンがあるように見えるかもしれません。私の好みはwgetにファイルをダウンロードさせ、ログファイルを解析してから、コマンドを実行して電子メールを送るだけです。
私のアプローチが間違っていると思われる場合は、もっと簡単で機能的で経済的な方法があれば教えてください。私はそれを見ていきたいと思います。
助けてください。
マーク