Linuxのターミナル画面のテキストをまるまるメールで送ることってできないでしょうか?

遠隔から接続ができない環境で、画面上の進行状況がわかるとありがたいのです。
cronで設定すると定期的におくるとかできるとうれしいのですが・・

回答の条件
  • 1人3回まで
  • 登録:2009/04/09 21:01:20
  • 終了:2009/04/15 12:14:12

回答(2件)

id:y-kawaz No.1

y-kawaz回答回数1421ベストアンサー獲得回数2262009/04/10 03:35:37

ポイント50pt

以下のようなコマンドで可能だと思います。

cat /dev/vcs1 | fold -w80 | mail -s "dump console 1" foo@example.jp

http://www.linux.or.jp/JM/html/LDP_man-pages/man4/vcs.4.html

id:imaiworks

ありがとうございます!

試してみたところ、サーバ側のコンソール画面は取得できましたが

SSHで接続している

$ tty

/dev/pts/0

となる画面を取得することはできないでしょうか?

# cat /dev/pts/1

としても応答が帰ってきませんでした。。

2009/04/10 17:48:34
id:shinichiro_h No.2

shinichiro_h回答回数6ベストアンサー獲得回数02009/04/11 03:54:24

ポイント50pt

状況がきちんと理解できているかあやしいのですが、

外部からネットワーク接続できないが

外部に接続することはできる(メールが送れる)

マシンで時間のかかる処理をして帰るのだけど、

経過をメールで送りたい、などそれに類する状況でしょうか。

だとすると、 GNU screen を使うのはいかがでしょうか。

http://www.gnu.org/software/screen/

screen を起動した状態で、

#!/bin/sh
while true; do
    # このコマンドで現在の端末に表示されているテキストを
    # ~/hardcopy.0 に保存することができます。
    screen -X hardcopy
    # ここに ~/hardcopy.0 の内容をメールを送るコマンドを適宜入れてください。
    sleep 60
done

などというスクリプトを例えば send_tty.sh などとして保存し、

% ./send_tty.sh &

などとしてバックグラウンドで起動した後に

時間のかかる処理をしてやれば良いと思います。

もし要求をきちんと理解できていませんでしたらすいません。

id:imaiworks

はい、これはいいですね!

screenのことを勉強しなければなりませんが

求めていることは満たしています。

ありがとうございます!

2009/04/15 12:13:15

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません