Archive for October, 2009|Monthly archive page
Mac版EclipseでCtrl+Spaceが効かない件
Mac版EclipseでCtrl+Spaceキーが使えなかったので、解決方法をメモしときます。
- 「システム環境設定」を開く。
- 「キーボード」を選択
- 「キーボードショートカット」を選択
- 「Spotlight」を選択
- 「Spotlight検索フィールドを表示」のチェックを外す

TeraTermマクロとFTPでちょっと面白いことをやってみる
普段何気なくつかってるTeraTermですが、マクロというものがあります。TeraTermヘルプを見れば詳しく書いてあります。FTPもコマンドを外部ファイルに待たせば一覧の処理を自動化してくれます。今日はちょっと実際に作ってたものをサンプルとして掲載します。
処理の流れは以下のようになります。
- SSHでWindowsクライアントからサーバーAに接続して、Apacheログをftpから取得できる場所にコピー
- ftpでサーバーAに接続して、ApacheログファイルをWindowsクライアントにダウンロード
- SSHで再びサーバーAに接続して、ダウンロードしたApacheログファイルを削除
- ftpでサーバーBに接続して、Apacheログファイルを特定のディレウトリにアップロード
- Windowsクライアントのログファイル削除
- SSHでサーバーBに接続して、Apacheログ解析プログラムを実行
1. batファイル作成
apache_log.bat
“C:\Program Files\teraterm\ttpmacro.exe” “C:\apache\copylog.ttl”
ftp -s:”C:\apache\getlog.ftp”
“C:\Program Files\teraterm\ttpmacro.exe” “C:\apache\deletelog.ttl”
ftp -s:”C:\apache\putlog.ftp”
cd apache_log
del /Q *.apache.gz
“C:\Program Files\teraterm\ttpmacro.exe” “C:\apache\update.ttl”
2. ttlファイル作成
copylog.ttl
connect ‘192.168.0.2:22 /ssh /auth=password /user={user} /passwd={pw}’
wait ‘bash-2.04$ ‘
sendln ‘copylog-ctl’ ← シェルで作成したログコピースクリプト
wait ‘bash-2.04$ ‘
sendln ‘exit’
deletelog.ttl
connect ‘192.168.0.2:22 /ssh /auth=password /user={user} /passwd={pw}’
wait ‘bash-2.04$ ‘
sendln ‘rm /home/tomcat/htdocs/apache_log/*’
wait ‘bash-2.04$ ‘
sendln ‘exit’
update.ttl
connect ‘192.168.0.2:22 /ssh /auth=password /user={user} /passwd={pw}’
wait ‘[localhost@test ~]% ‘
sendln ‘/usr/local/apache/htdocs/cgi-bin/awstats/update.pl’
wait ‘[localhost@test ~]% ‘
sendln ‘exit’
3. ftpファイル作成
getlog.ftp
open 192.168.0.2
{user}
{pw}
binary
prompt
cd /apache_log/
lcd apache_log
mget *
quit
putlog.ftp
open 192.168.0.3
{user}
{pw}
binary
prompt
cd /awstats/apache_log
put apache_log/*.apache.gz
quit
ここまで読んでたらある疑問が出てくると思います、なぜ 192.168.0.2 と 192.168.0.3 を直接やり取りしないかと?
それは事情によりお互いに直接接続することはできず、一旦Windowsを経由しないといけなかったんです。
Leave a Comment
Leave a Comment