SAMPLE GALLERY

フリーで使えるDDNS

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)戻る
>?

                                                                                               
DynDNSdkyi---
cjbdhsinstat
HAMMERNODEddns.caRegisterFly
DynDSLMyServermy-domain
ODNDHSNo-IP
Microtechp2pDNS2Go
dynDNS.it@niftyNetservers
DDNS.nuVALUEDOMAIN3domain
Dyn.eeBIGLOBENow.nu
uniccDIONCyberGate
eNomlivedoorpcc.jp
toddARTofDNStheBBS
MyIP.USMyDNS.JPDynup
ODSZENNO.COMEarth
ysdnJPN.chZiVE
changeIPIPDYNddo.jp
onamae.comEveryDNSUSA
ZoneEditDnsTokyodyndns
SelfHOsTDtDNSieServer
miniDNScheapnetJSPEED
dnipWebReactornicolas
GetmyIPDynuStaticCling
did.expoze.comDynamxdnsQ
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

inserted by FC2 system