ダイナミックDNS他
Dynamic DNS Service
サイトのオーナが制作したアクセス用スクリプトを利用します。中程に
ダウンロードファイル(ddnsclient.zip)が置いてあります。ありがとうございます
ieServer.Net
このサイトにアクセスできるperlで書かれたサンプル
バックグランドで動かすから
Ctrl+Z | プロセスを停止しバックグランドへ移る | $ ./test.pl ^Z (Ctrl+Z) [1]+ 停止 ./test.pl |
& | バックグランドで実行。コマンドの最後に付加 | $ ./mydns.py & [1] 10213(ジョブ番号 プロセスID) |
jobs [-l] | バックグランドプロセスの一覧表 オプション'-l'でプロセスID表示 |
$ jobs [1]+ 停止 ./mydns.py [1]+ 実行中 ./mydns.py |
bg [ジョブ番号] | 指定したジョブ番号をバックグラウンドで実行 指定がないときはカレントジョブを実行(+記号) |
$ ./mydns.py (実行) ^Z (Ctrl+Z) [1]+ 停止 ./mydns.py $ jobs [1]+ 停止 ./mydns.py $ bg [1]+ ./mydns.py & $ jobs [1]+ 実行中 ./mydns.py & |
fg [ジョブ番号] | 指定したジョブ番号をフォアグランドで実行 指定がないときはカレントジョブを実行(+記号) |
$ jobs [1]- 停止 ./test.pl [2]+ 停止 ./mydns.py $ fg ./mydns.py |
プロセス終了 Ctlr+C kill |
フォアグラウンドでCtrl+C kill -9 プロセスID |
$ ps aux (一覧) $ pstree (Tree表示) |
ログアウトしても実行継続
■
nohup
参考サイト
$ nohup ./abc.sh &
abc.sh の標準出力、標準エラー出力に送られたデータはプログラムを実行したディレクトリに nohup.out というファイル名で保存される。プログラムを実行したディレクトリに書き込み権限が無ければ $HOME/nohup.out に保存される
$ nohup ./abc.sh > out.log &
abc.sh の標準出力が out.log になる。標準エラー出力は nohup.out で保存先は
例1と同様にプログラムを実行したディレクトリか $HOME になる
$ nohup ./abc.sh > out.log 2> err.log &
abc.sh の標準出力が out.log になる。標準エラー出力は err.log です
プログラムを終了する
プロセスIDを調べて確認
ps ax
■
disown
指定したバックグラウンドプロセスをデーモン化する
サスペンドにして戻っても、止まることはなく正常に動きました
$ sh abc.sh &
[1] 5889
$ jobs
[1]+ 実行中 sh abc.sh &
disownコマンドを実行します。引数には"%"+ジョブ番号を指定します。(上記例だとジョブ番号は"1")
$ disown %1
$ jobs
$(何も表示されない)
$ exit ログアウト
確認する
Ctrl+Alt+T ターミナルを立ち上げる
psで確認すると実行している
Dynamic DNS
プロバイダーから付与されたIPアドレスはたまに変更がある
常時監視をするならCrontabを利用する
このページに設定方法を書きました
監視ができるスクリプトを使用するがログアウトで消滅する
■
ieServer.Net
ログイン画面
の下にperlで書かれたサンプルがある
コレをコピー
して名前をつける。ddns-update.pl
実行ができるようにプロパティを直す
■
MyDNS
このサイトのオーナーが制作したスクリプトを利用します
中ほどに「ダイナミックDNSの利用」の項目が有りダウンロードしてきます
Diceを動かす
■
Diceのダウンロード・インストール
コマンド用とGUI用とあるがコマンド用を
ダウンロードする
32ビット用なので対応するライブラリーなどをインストールする
sudo apt-get install lib32stdc++6
■
文字化け
文字化けをするのでnkfをパイプで使う
u 改行コードをLFに
w 漢字コードをUTF-8で出力
■
Diceを起動 ./diced | nkf -uw
プロンプトが’:’コロンです
ヘルプ'?'でオプション・コマンドを観る
:?
*** 起動オプション ***
diced [-s|-d|-h|-e] [-b] [-l]
-s 起動と同時に開始します
-d 起動と同時にバックグラウンドで開始します
-h コマンドオプションを表示します
-b イベント実行時にビープ音を鳴らします
-l ログを作成します
-e
*** コマンド一覧 ***
exit DiCEを終了します
start DiCEを開始します
startd DiCEをバックグラウンドで開始します
setup DiCEの環境設定を行います
list 登録済のイベント一覧を表示します
add イベントを追加します
ed[it] <番号> イベントを編集します
del <番号> イベントを削除します
en[able] <番号> イベントを有効にします
dis[able] <番号> イベントを無効にします
ev[ent] <番号> イベントの情報を表示します
ex[ec] <番号> イベントを今すぐ実行します
logcr ログをクリアします
===addコマンドを入力================================
:add
新しくイベントを追加します
DynamicDNSサービス名を入力してください
"?"で対応しているサービスを一覧表示します
(P)戻る
>?
=================================================
DynDNSdk yi ---
cjb dhs instat
HAMMERNODE ddns.ca RegisterFly
DynDSL MyServer my-domain
ODN DHS No-IP
Microtech p2p DNS2Go
dynDNS.it @nifty Netservers
DDNS.nu VALUEDOMAIN 3domain
Dyn.ee BIGLOBE Now.nu
unicc DION CyberGate
eNom livedoor pcc.jp
todd ARTofDNS theBBS
MyIP.US MyDNS.JP Dynup
ODS ZENNO.COM Earth
ysdn JPN.ch ZiVE
changeIP IPDYN ddo.jp
onamae.com EveryDNS USA
ZoneEdit DnsTokyo dyndns
SelfHOsT DtDNS ieServer
miniDNS cheapnet JSPEED
dnip WebReactor nicolas
GetmyIP Dynu StaticCling
did.expoze.com Dynamx dnsQ
dyns --- ---
新しくイベントを追加します
DynamicDNSサービス名を入力してください
"?"で対応しているサービスを一覧表示します
(P)戻る
>MyDNS.JP
---上記一覧表より該当文字列を入力-------------------
<< MyDNS.JP >>
URL: http://www.mydns.jp/
*** 情報 ***
ドメイン名、ホスト名についてはマスターID(ユーザー名)にて管理されています。
IPアドレスはサーバー側で自動検出します。
(これらは入力しても無視されます)
=================================================
ドメイン名を入力してください
"?"でドメイン一覧を表示します
(P)戻る
>mydns.jp
=================================================
ホスト名を入力してください
(P)戻る
>kazu99
=================================================
ログインユーザ名を入力してください
(P)戻る
>mydns123456
=================================================
ログインパスワードを入力してください
(P)戻る
>qwrasdfzxcv
=================================================
登録するIPアドレスを入力してください
空白にすると現在のIPアドレスを自動検出します
(P)戻る
>
=================================================
このイベントに題名を付けてください
(P)戻る
>mydns
=================================================
このイベントを実行するスケジュールを設定します
-------------------------------------------------
実行する頻度を指定してください (番号入力)
(0)1回のみ (1)1日1回 (2)1週間に1回 (3)1ヵ月に1回
(4)その他の周期 (5)IPアドレス変化時 (6)起動時
(P)戻る
>6
=================================================
=================================================
このイベントを有効にしますか? (Y/N)
(イベントの有効/無効は"EN/DIS"コマンドで切替えられます)
>y
=================================================
イベントを保存しますか? (Y/N)
>y
イベント"mydns"を保存しました
=================================================
:exit
実行
./diced -l -e mydns
起動時で実行することにしている
終了は'exit'コマンド
確認してみるとアドレスが新しいのと交換されていた
ログを残す
■
ファイル・ディスクリプタ
プロセスがアクセスするファイルを識別するための番号です
プロセスがファイルをオープンする際、開いている最小の番号のディスクリプタが割り当てられる
ディスクリプタ0,1,2は最初から利用できる
0:標準入力 キーボードから
1:標準出力 端末画面
2:標準エラー出力 端末画面
■
リダイレクト
ディスクリプタに結び付けられたファイルを切り替える処理です
*標準出力の内容をファイルに保存するには「>ファイル名」と書きます(test.txtは初期化されます)
「1>」は省略が出来ます($ ls -al 1> test.txt)
$ ls -al > test.txt
指定されたtest.txtは書き込みモードでオープンされ、ファイルディスクリプタ1と結びつきます
追加書き込みモードでオープンする場合は
$ ls -al >> test.txt
*標準入力
キーボードから入力
$ cat
1行入力してEnterキーを打つたんびに、同じ内容の文字列がその下に現れる。キーボードからの入力を標準入力として読み込んで、標準出力で画面に表示している。終了はCtrl+D
ファイルを読み込ませるには
$ cat < test.txt
指定されたファイルは読み込みモードでオープンされファイルディスクリプタ0と結び付けられます
*標準エラー出力はコマンドがエラーや警告のメッセージを出力される際に利用される
エラー出力だけをファイルに保存する場合は
$ startx 2> error.log
*標準出力と標準エラー出力を一緒のファイルにする場合はファイルディスクリプタのコピーを作成する
ディスクリプタmの内容をディスクリプタnにコピーするには「n>&m」というリダイレクト記号を使う
標準出力(ディスクリプタ1)の内容を標準エラー出力(ディスクリプタ2)にコピーする
$ startx > test.log 2>&1 (Bourneシェルの場合)
$ startx &> test.log (bashの場合)
*メーセージなどを出力しない場合は
$ startx > /dev/null 2>&1
■