というスクリプトの例
uptimeから取ってくる
以下は3時間経ったらhoge.shを実行する
2012年12月27日木曜日
2012年12月24日月曜日
unboundのインストールと初期設定
1.インストール
普通にaptで入れる
2.初期設定
unbound.conf
3.レコード設定
本物のDNSに問い合わせないで無しで返してしまうので注意
4.ulimitの設定
warningsがうるさいなら
普通にaptで入れる
2.初期設定
unbound.conf
interface: 0.0.0.0 access-control: 192.168.0.0/24 allow
3.レコード設定
local-data: "hoge.net. IN A 192.168.0.4" local-data: "hoge.net. IN MX 10 hoge.net." local-data-ptr: "192.168.0.4 hoge.net."※ hoge.netのAレコードを設定してしまうと、hoge.netのMXレコードを
本物のDNSに問い合わせないで無しで返してしまうので注意
4.ulimitの設定
warningsがうるさいなら
ulimit -n 4140を/etc/init.d/unboundの頭の方に書いておくと良いんじゃないでしょうか?
2012年12月23日日曜日
Debianにpostfixadminをインストール
1.インストール
2.Webサーバ設定
/etc/postfixadminに設定ファイルがあるのでリンクを張る
今回はlighttpdで
3.初期セットアップ
http://yourdomain.com/postfixadmin/setup.php
にアクセスしてセットアップ
初期パスワードとadminアカウントを作成
4.その他の設定
/usr/share/doc/postfixadmin/DOCUMENTS
↑を読む
# apt-get install postfixadmin
2.Webサーバ設定
/etc/postfixadminに設定ファイルがあるのでリンクを張る
今回はlighttpdで
# ln -s /etc/postfixadmin/lighttpd.conf /etc/lighttpd/conf-enabled/60-postfixadmin.conf # /etc/init.d/lighttpd restart
3.初期セットアップ
http://yourdomain.com/postfixadmin/setup.php
にアクセスしてセットアップ
初期パスワードとadminアカウントを作成
4.その他の設定
/usr/share/doc/postfixadmin/DOCUMENTS
↑を読む
2012年12月21日金曜日
2012年12月19日水曜日
2012年11月25日日曜日
AutoHotkeyを使ってTeraTerm + vimを快適にする
Esc押したらIMEをオフにしてくれれば良いので以下のような設定にした
あと、無変換キー+Rでsudoしてくれる設定も追加しておいた
AutoHotkey.ahk
注意点としてはEscがEscを再帰的に呼んで無限ループするので、Escの頭に$を付ける必要があること
IMEのOn/Offの切り替えはえらい人がスクリプトを作ってくれていたので、そっちからコピペ
http://www6.atwiki.jp/eamat/pub/MyScript/Lib/
参考リンク
https://sites.google.com/site/autohotkeyjp/reference/AutoHotkey_L/index
2012年11月24日土曜日
teratermインストール後にやることメモ
Teratermが新しくなっていたので、ここでまとめておく
1.TERATERM.INI
2.KEYBOARD.CNF
https://raw.github.com/gist/4140449/2bad78bfe24a407764f13c7055fc0ed452f1affd/KEYBOARD.CNF
3.テーマファイル
テーマファイルとかあれば
https://raw.github.com/gist/4140449/91748dba84035a7a0f0ac7dfa8b8ec480b8ed93c/yamasita.ini
1.TERATERM.INI
2.KEYBOARD.CNF
https://raw.github.com/gist/4140449/2bad78bfe24a407764f13c7055fc0ed452f1affd/KEYBOARD.CNF
3.テーマファイル
テーマファイルとかあれば
https://raw.github.com/gist/4140449/91748dba84035a7a0f0ac7dfa8b8ec480b8ed93c/yamasita.ini
2012年11月22日木曜日
phpでctagsを使う
phpが入ってるディレクトリで
ctags -a -R --langmap=PHP:.php --php-types=c+f+d+v+i .
でOKみたい
↓で種類みれる
ctags --list-kinds=php
こうすればtagsファイルが作られる
参考リンク
http://blog.veryposi.info/programing/php/php-ctags-vim/
2012年11月3日土曜日
2012年10月28日日曜日
2012年10月20日土曜日
tumblrのショートカットキー
ダッシュボードで使えるよ
j(ジェイ) 次のpostへ移動
k(ケー) 前のpostへ移動
l(エル) like / like解除
n(エヌ) notesを開く / 閉じる
r(アール) reblog(別ウィンドウが開く)
R(Shift+アール) 即時reblog
E(Shift+イー) キュー(投稿予約)へreblog
スペース 動画再生?(未確認)
カーソルキー左 前のページへ
カーソルキー右 次のページへ
z+tab 切り替え
http://dara-j.asablo.jp/blog/2012/10/17/6605357
http://www.tumblr.com/tips#keyboard_shortcuts
j(ジェイ) 次のpostへ移動
k(ケー) 前のpostへ移動
l(エル) like / like解除
n(エヌ) notesを開く / 閉じる
r(アール) reblog(別ウィンドウが開く)
R(Shift+アール) 即時reblog
E(Shift+イー) キュー(投稿予約)へreblog
スペース 動画再生?(未確認)
カーソルキー左 前のページへ
カーソルキー右 次のページへ
z+tab 切り替え
http://dara-j.asablo.jp/blog/2012/10/17/6605357
http://www.tumblr.com/tips#keyboard_shortcuts
2012年10月16日火曜日
xsetで省電力モードを解除
現在の設定を確認
DPMSを無効化
DPMSを有効化
参考リンク
http://kakurasan.ehoh.net/summary/xset.cmd.term.html
http://www.atmarkit.co.jp/flinux/rensai/linuxtips/254usedpmsx3x.html
xset q
DPMSを無効化
xset -dpms
xset dpms force off
DPMSを有効化
xset +dpmsスタンバイ、サスペンド、パワーオフ時間を設定(有効化時しか意味は無い)
xset dpms 300 600 900
参考リンク
http://kakurasan.ehoh.net/summary/xset.cmd.term.html
http://www.atmarkit.co.jp/flinux/rensai/linuxtips/254usedpmsx3x.html
2012年10月11日木曜日
tumblrのリンクと要素まとめ(使う分だけ)
自分がフォローしている人をブログに表示する
HTMLの編集からどうぞ
following <div> {block:Followed} <a href="{FollowedURL}"><img src="{FollowedPortraitURL-48}"/></a> {/block:Followed} </div> {/block:Following}
リンク
(hogeをユーザ名に変更すること)
- アーカイブ(http://hoge.tumblr.com/archive)
- ランダム表示(http://hoge.tumblr.com/random)
- RSS(http://hoge.tumblr.com/rss)
- 携帯向け簡易表示(http://hoge.tumblr.com/mobile)
- Like一覧(http://www.tumblr.com/liked/by/hoge)
- 自分がフォローしている人一覧(http://www.tumblr.com/following)
- 自分をフォローしている人一覧(http://www.tumblr.com/followers)
参考リンク
http://tagblr.tumblr.com/post/340724562
http://ryo-skd.tumblr.com/post/311289824/tumblr-tumblr-nplll-mutter
2012年10月9日火曜日
twitterのbotを作る
そんなに難しくないと思った・・・
1.CONSUMER_KEYとCONSUMER_SECRETの取得
アプリの登録を行う
このページから飛んで適当に入力する
2.ユーザに許可してもらいアクセストークンをもらう
スクリプト実行⇒authページ⇒許可を押す⇒数値をメモ⇒スクリプトに入力
#!/usr/bin/env ruby # coding: utf-8 require 'rubygems' require 'oauth' OAUTH_CONSUMER_KEY='XXXXXXXXXXXXXXXXXXXXXXXXXX' OAUTH_CONSUMER_SECRET='XXXXXXXXXXXXXXXXXXXXXXXX' consumer = OAuth::Consumer.new( OAUTH_CONSUMER_KEY , OAUTH_CONSUMER_SECRET , { :site=>"http://twitter.com" }) #optprm = { :oauth_callback=>"(コールバック先のURL)" } request_token = consumer.get_request_token puts "Access this URL and approve => #{request_token.authorize_url}" print "Input OAuth Verifier: " oauth_verifier = gets.chomp.strip access_token = request_token.get_access_token( :oauth_verifier => oauth_verifier ) puts "Access token: #{access_token.token}" puts "Access token secret: #{access_token.secret}"
3.後はもらったアクセストークン&コンシューマIDでスクリプトを書く
twitter のgemでもoauthのgemでも簡単なことをやる場合はあんま変わんない感じ
#!/usr/bin/env ruby # coding: utf-8 require 'oauth' require 'json' CONSUMER_KEY = 'XXXXXXXXXXXXXXXXXXXXX' CONSUMER_SECRET = 'XXXXXXXXXXXXXXXXXXXX' ACCESS_TOKEN = 'XXXX-XXXX' ACCESS_TOKEN_SECRET = 'XXXXXXXXXXXXXXXXX' # 下準備 consumer = OAuth::Consumer.new( CONSUMER_KEY, CONSUMER_SECRET, :site => 'http://twitter.com' ) access_token = OAuth::AccessToken.new( consumer, ACCESS_TOKEN, ACCESS_TOKEN_SECRET ) # タイムラインを取得して時系列順に表示 response = access_token.get('http://twitter.com/statuses/friends_timeline.json') JSON.parse(response.body).reverse_each do |status| user = status['user'] puts "#{user['name']}(#{user['screen_name']}): #{status['text']}" end # Tweetの投稿 #response = access_token.post( # 'http://twitter.com/statuses/update.json', # 'status'=> 'oauth test post2' #)
#!/usr/bin/env ruby # coding: utf-8 require 'twitter' # ログイン Twitter.configure do |config| config.consumer_key = 'XXXXXXXXXXXXXXXX' config.consumer_secret = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' config.oauth_token = 'XXXXXXX-XXXXXXXXX' config.oauth_token_secret = 'XXXXXXXXXXXXXXXXXX' end #発言する #puts Twitter.home_timeline.first.text Twitter.update('hoge')
参考リンク
http://d.hatena.ne.jp/shibason/20090802/1249204953
http://rdoc.info/gems/twitter
http://tech.sayama-yuki.net/archives/166
2012年10月2日火曜日
munin2.0が出てるらしい
http://pocketstudio.jp/log3/2012/06/04/new-features-of-munin2/
http://dozen.dip.jp/archives/212
http://dozen.dip.jp/archives/212
2012年9月30日日曜日
ffmpegの使い方
ffmpeg -i 入力ファイル 出力ファイル
みたいな感じでOKらしい
ffmpeg -i hoge.flv hoge.mp4
でもいけた
mp3のビットレート調整とかも出来る
ffmpeg -i input.mp3 -ab 128k output.mp3
http://d.hatena.ne.jp/takuya_1st/20120225/1330189927
http://yosilove.blog.shinobi.jp/Entry/603/
みたいな感じでOKらしい
ffmpeg -i hoge.flv hoge.mp4
でもいけた
mp3のビットレート調整とかも出来る
ffmpeg -i input.mp3 -ab 128k output.mp3
http://d.hatena.ne.jp/takuya_1st/20120225/1330189927
http://yosilove.blog.shinobi.jp/Entry/603/
2012年9月26日水曜日
rubyのバージョン管理 rbenv試してみた
rvmとかあるらしいけど今回はrbenvを使ってみます
ここで、シェルのリスタート
次にrbenv installが使えるようにbuildプラグインをインストール
これでrbenv installコマンドが使えるようになります
インストールできるバージョンを確認
cd git clone git://github.com/sstephenson/rbenv.git .rbenv echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
ここで、シェルのリスタート
次にrbenv installが使えるようにbuildプラグインをインストール
mkdir -p ~/.rbenv/plugins cd ~/.rbenv/plugins git clone git://github.com/sstephenson/ruby-build.git
これでrbenv installコマンドが使えるようになります
インストールできるバージョンを確認
rbenv install -lインストール
rbenv install 1.9.3-xxxxx使用中のバージョンを確認
rbenv versionsバージョンの切り替え
rbenv global 1.9.2-p290リフレッシュ変更を反映
rbenv rehash
2012年9月23日日曜日
WindowsでS.M.A.R.T情報を取得
Linuxだとsmartctlとかだけど、Windowsだとこれがいい感じ
CrystalDiskInfo
http://www.forest.impress.co.jp/lib/sys/hrdbnch/hardinfo/crdiskinfo.html
CrystalDiskInfo
http://www.forest.impress.co.jp/lib/sys/hrdbnch/hardinfo/crdiskinfo.html
2012年9月22日土曜日
2012年9月2日日曜日
2012年8月25日土曜日
TeratermでTTLマクロをショートカットキーで呼び出す
login.ttl
connect '192.168.0.2:23 /nossh /T=1 /W="jitaku" /F=TERATERM_ARERT.INI /K=KEYBOARD.CNF' wait 'login:' sendln 'hogehoge' wait 'Password:' sendln 'password'KEYBOARD.cnfに以下を追記
[User keys] User1=1083,2,sudo.ttlKEYBOARD.ttlがあるところにsudo.ttlをおく
sendln 'sudo -s' pause 1 sendln 'passwd'
2012年8月19日日曜日
2012年7月23日月曜日
vimでgitのブラウジングすると便利だよ
という話
gitvというプラグイン:Gitvコマンドからどうぞ
3方向マージ(3 way merge)もGdiffで一発
http://d.hatena.ne.jp/cohama/20120417/1334679297
http://yuku-tech.hatenablog.com/entry/20110427/1303868482
2012年7月19日木曜日
vimのプラグイン管理vundle
便利なのでメモ
http://shu-cream.blogspot.jp/2011/04/2011vimvundle.html
git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle
http://shu-cream.blogspot.jp/2011/04/2011vimvundle.html
2012年7月9日月曜日
Postfix⇒Gmailへのリレー設定
以下の設定でGoogleのSMTPを中継するようになる
main.cf
http://linux.matchy.net/archives/35
http://stevejenkins.com/blog/2011/06/fixing-postfix-certificate-verification-failed-for-gmail-untrusted-issuer-error-message/
http://giantdorks.org/alain/fix-for-postfix-untrusted-certificate-tls-error/
relayhost = [smtp.gmail.com]:587 smtp_use_tls = yes smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_sasl_tls_security_options = noanonymous smtp_sasl_mechanism_filter = plain smtp_tls_CAfile = /etc/postfix/ssl/cacert.pem/etc/postfix/sasl_passwd
[smtp.gmail.com]:587 hoge@gmail.com:hogepasswd以下のコマンドを忘れずに postmap sasl_passwd 参考リンク
http://linux.matchy.net/archives/35
http://stevejenkins.com/blog/2011/06/fixing-postfix-certificate-verification-failed-for-gmail-untrusted-issuer-error-message/
http://giantdorks.org/alain/fix-for-postfix-untrusted-certificate-tls-error/
2012年7月3日火曜日
2012年6月30日土曜日
2012年6月26日火曜日
gitでpushしたらpushした先でワーキングツリーをリセット
それhookで出来るよ
cd .git/hooks/ mv post-receive.sample post-receive chmod +x post-receive echo 'cd /home/hoge/huga/' >> post-receive echo 'git --git-dir=.git reset --hard HEAD' >> post-receive
2012年6月23日土曜日
SSH力を身につけた
sshで繋いじゃった後でも
Enter押してすぐに
~Cでコンソール(helpコマンド使えるよ)
~#でフォワード一覧
~?でヘルプ
↓みたいに.ssh/config書けば多段がいけるらしい
Host humidai
HostName hoge.co.jp
Host target
ProxyCommand ssh -W 192.168.x.x:22 humidai
参考リンク
SSH力をつけよう
2012年6月16日土曜日
2012年6月10日日曜日
2012年6月9日土曜日
gitでbareじゃない共有リポジトリを作る
共有リポジトリだと作業フォルダが無くて不便なので
[core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true [receive] denyCurrentBranch = ignoreコマンドならこう
git config --add receive.denyCurrentBranch ignore参考リンク http://d.hatena.ne.jp/shokai/20101105/1288968082
2012年6月8日金曜日
Linuxデスクトップのガジェットとか
システムモニタ
・adesklets
・conky
・gdesklets
参考リンク
http://wikiwiki.jp/linux/?FrontPage
http://usamimi.info/~linux/
・adesklets
・conky
・gdesklets
参考リンク
http://wikiwiki.jp/linux/?FrontPage
http://usamimi.info/~linux/
2012年6月4日月曜日
DebianでKVMを試してみた
こんな感じでDebian Wiki通りにやればOK
-cの後は/dev/cdrom or iso
http://docs.redhat.com/docs/ja-JP/Red_Hat_Enterprise_Linux/5/html/Virtualization/chap-Virtualization-Managing_guests_with_virsh.html
-cの後は/dev/cdrom or iso
virt-install -n testos -r 128 --disk path=/tmp/testos.dsk,size=10 --os-type=linux --network bridge=br0 --vncport=5900 --vnclisten=0.0.0.0 -c /tmp/debian.isoあとはこんな感じでXサーバーにコンソールを出力させた
virt-viewer testos --display=192.168.0.5:0仮想マシンの削除
virsh destroy testos2 virsh undefine testos2参考リンク
http://docs.redhat.com/docs/ja-JP/Red_Hat_Enterprise_Linux/5/html/Virtualization/chap-Virtualization-Managing_guests_with_virsh.html
brctlでブリッジインターフェイスを作成
KVMを使うときに必要になったブリッジインターフェイスの設定メモ
コマンドでは以下のようにやればO
brctl でLinuxマシンをHUBにする - いますぐ実践! Linuxシステム管理 第2回 KVMの導入と基本的な使い方
brctl addbr br0 brctl addif br0 eth0/etc/network/interfaces
auto lo br0 iface lo inet loopback allow-hotplug eth0 auto eth0 iface eth0 inet static address 192.168.0.4 netmask 255.255.255.0 gateway 192.168.0.1 iface br0 inet static bridge_ports eth0 address 192.168.0.40 netmask 255.255.255.0 gateway 192.168.0.1参考リンク
brctl でLinuxマシンをHUBにする - いますぐ実践! Linuxシステム管理 第2回 KVMの導入と基本的な使い方
2012年5月28日月曜日
2012年5月26日土曜日
lighttpd + zabbixをDebian squeezeにインストール
aptで以下のパッケージをインストール
SQLのアップデートの仕方
マニュアル
zabbix-agent #監視される側 zabbix-frontend-php #zabbixのWebインターフェイス zabbix-server-mysql #zabbixのサーバー(監視する側)lighttpdに以下を追記
alias.url += ( "/zabbix" => "/usr/share/zabbix" )なんかログインできなかったので以下のSQLを発行
update users set passwd=md5('hoge') where alias='Admin';参考リンク
SQLのアップデートの仕方
マニュアル
2012年5月20日日曜日
HA構成のサーバー作るときに使うソフトメモ
複数のサーバーを同一の設定にする
Puppet
OSインストールを簡略化
kickstart
データ同期
DRBD
Heartbeat(Pacemaker)
生死監視
2012年5月7日月曜日
lighttpdでSSL設定
Debian(squeeze)でやってみた
1.モジュールの有効化
2.認証局(CA)の作成
最初はエンター
後は対話形式に適当に入力する
入力項目についてはここら辺を参照
A challenge passwordとAn optional company nameは飛ばした
3.サーバーの秘密鍵,CRTの作成
4.署名(CRT)ファイルの作成
5. ファイルの設置
あとは再起動でOK
参考リンク
13. SSL自己証明書
Apache/SSL自己証明書の作成とmod sslの設定
Webサーバ「lighttpd」でSSLを使うには ※鍵の作成→署名までを1コマンドでやってる
日本ベリサイン株式会社の解説ページ
1.モジュールの有効化
lighty-enable-mod ssl
2.認証局(CA)の作成
/usr/lib/ssl/misc/CA.sh -newca
最初はエンター
後は対話形式に適当に入力する
入力項目についてはここら辺を参照
A challenge passwordとAn optional company nameは飛ばした
3.サーバーの秘密鍵,CRTの作成
openssl genrsa -out server.key 2048 openssl req -new -days 365 -key server.key -out csr.pem
4.署名(CRT)ファイルの作成
openssl ca -in csr.pem -keyfile demoCA/private/cakey.pem -cert demoCA/cacert.pem -out crt.pemエラーが出る場合は以下のようにindex.txtを空にする(ここら辺参照)
rm demoCA/index.txt touch demoCA/index.txt
5. ファイルの設置
ファイルをvim等で適当に編集して -----BEGIN RSA PRIVATE KEY----- hogehogehogehoge..... -----END RSA PRIVATE KEY----- -----BEGIN CERTIFICATE----- hogehogehogehoge..... -----END CERTIFICATE-----みたいになるようにする
あとは再起動でOK
参考リンク
13. SSL自己証明書
Apache/SSL自己証明書の作成とmod sslの設定
Webサーバ「lighttpd」でSSLを使うには ※鍵の作成→署名までを1コマンドでやってる
日本ベリサイン株式会社の解説ページ
2012年5月6日日曜日
LDAPの設定メモ
slapdをインストール
mozillaAbPersonAlpha.schemaを以下へコピーする
/etc/ldap/schema
phpldapadminをインストール
lighttpdのconfに以下を追加
# Alias for pa directory
alias.url += (
"/pl" => "/usr/share/phpldapadmin",
)
パスワードを忘れたら
dpkg-reconfigure slapd
↓で内容の確認
slapcat
cn=admin...
で始まる行をメモして
phpldapadminにログイン
詳しくはこちら
/usr/share/doc/slapd
本体はこっち?
/usr/share/slapd
参考リンク
Gentoo Linuxな生活/ThunderBirdアドレス帳をLDAPで悩む
mozillaAbPersonAlpha.schemaを以下へコピーする
/etc/ldap/schema
phpldapadminをインストール
lighttpdのconfに以下を追加
# Alias for pa directory
alias.url += (
"/pl" => "/usr/share/phpldapadmin",
)
パスワードを忘れたら
dpkg-reconfigure slapd
↓で内容の確認
slapcat
cn=admin...
で始まる行をメモして
phpldapadminにログイン
詳しくはこちら
/usr/share/doc/slapd
本体はこっち?
/usr/share/slapd
参考リンク
Gentoo Linuxな生活/ThunderBirdアドレス帳をLDAPで悩む
2012年5月5日土曜日
BIND9の設定
- インストール
- 正引きの設定 named.conf.local
- 逆引きの設定 named.conf.local
- セカンダリDNS設定 セカンダリDNSの設定は以下のようにする これでプライマリからゾーン転送されてくる
- その他Tips フォワーダ設定
apt-get install bind9
zone "test" { type master; file "/etc/bind/db.test"; };db.test
$TTL 1D @ IN SOA dns.test. root.hoge. ( 20120505 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS dns.test. main IN A 192.168.0.2 vista IN A 192.168.0.3 dns IN A 192.168.0.4 note IN CNAME dns.test. jitaku IN A 192.168.0.11
zone "0.168.192.in-addr.arpa" { type master; file "/etc/bind/db.testrev"; };db.testrev
$TTL 1D @ IN SOA dns.test. root.hoge. ( 20120505 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS dns.test. ; 2 IN PTR main.test. 3 IN PTR vista.test. 4 IN PTR note.test. 11 IN PTR jitaku.test.
named.conf.local zone "hoge.jp" { type slave; file "/tmp/db.hoge"; masters { 123.123.123.123; }; };ゾーン転送(完全転送:AXFR)をエミュレートするには
nslookup server ns.example.co.jp ls example.co.jpdigでも出来る
dig @ns.example.co.jp example.co.jp axfrhttp://www.atmarkit.co.jp/fsecurity/rensai/iprotect01/iprotect01.html
named.conf.options
forwarders { 210.130.1.1; 210.130.0.1; 8.8.8.8; 8.8.4.4; };chacheファイルの在り処
/var/cache/bind/named_dump.dbchacheのクリア
rndc flush時間は秒数以外も指定できる
W 週 D 日 H 時間 M 分http://kajuhome.com/tips/tips_04_002.shtml
2012年4月22日日曜日
mysqlのtips
*AUTO_INCREMENTの値をリセットする
http://www.programming-magic.com/20071126231401/
*列の追加
http://www.programming-magic.com/20071004015528/
*列の削除
(logテーブルからdateカラム削除)
http://www.programming-magic.com/20071023000012/
ALTER TABLE hogetable AUTO_INCREMENT = 1;
http://www.programming-magic.com/20071126231401/
*列の追加
alter table log add date date after id;
http://www.programming-magic.com/20071004015528/
*列の削除
alter table log drop date;
(logテーブルからdateカラム削除)
http://www.programming-magic.com/20071023000012/
2012年4月15日日曜日
nagios3でのパッシブチェックについて
nagios3でのパッシブチェックは外部コマンドファイル(External Commands)に書き込むことで実現するチェックした結果を名前付パイプ(/var/lib/nagios3/rw/nagios.cmd)に書き込むことでnagios3が拾う
HOSTのパッシブチェックは以下のようなコマンドで
参考リンク
Nagios 3翻訳プロジェクト External Commands
Passive Checks
- 以下のようなスクリプトを用意する
- cronか何かで以下のようにスクリプトを叩く 引数は4つで最初からホスト名、サービス名、ステータス、メッセージの順でサービス名はservice_descriptionで指定したもの
#!/bin/sh echocmd="/bin/echo" CommandFile="/var/lib/nagios3/rw/nagios.cmd" datetime=`date +%s` cmdline="[$datetime] PROCESS_SERVICE_CHECK_RESULT;$1;$2;$3;$4" `$echocmd $cmdline >> $CommandFile`
./result.sh localhost HTTP 2 "DOWN MESSAGE"
HOSTのパッシブチェックは以下のようなコマンドで
#!/bin/sh echocmd="/bin/echo" CommandFile="/var/lib/nagios3/rw/nagios.cmd" datetime=`date +%s` cmdline="[$datetime] PROCESS_HOST_CHECK_RESULT;$1;$2;$3" `$echocmd $cmdline >> $CommandFile`こう叩く
./host.sh localhost 0 "OK"
参考リンク
Nagios 3翻訳プロジェクト External Commands
Passive Checks
2012年4月13日金曜日
lighttpd+nagios3
lighttpd+nagios3を試してみた
- インストール
- CGI設定 /etc/lighttpd/lighttpd.conf
- /etc/nagios3/nagios.cfg
- パーミッション
apt-get install nagios3
alias.url += ( "/nagios3/stylesheets" => "/etc/nagios3/stylesheets" , "/cgi-bin/nagios3" => "/usr/lib/cgi-bin/nagios3", "/nagios3/cgi-bin" => "/usr/lib/cgi-bin/nagios3", "/nagios3" => "/usr/share/nagios3/htdocs" ) $HTTP["url"] =~ "^/nagios3/cgi-bin|^/cgi-bin/nagios3" { cgi.assign = ( "" => "" ) auth.require = ( "" => ( "method" => "basic", "realm" => "nagios", "require" => "user=nagiosadmin" ) ) }
check_external_commands=1
# dpkg-statoverride --update --add nagios www-data 2710 /var/lib/nagios3/rw # dpkg-statoverride --update --add nagios nagios 751 /var/lib/nagios3
参考リンク
http://d.hatena.ne.jp/rx7/20070319/p3
http://d.hatena.ne.jp/turutosiya/20090403/p2
http://d.hatena.ne.jp/ksaito11/20090311/1236725318
2012年3月24日土曜日
2012年3月23日金曜日
Ruby on Railsのインストール
必要なパッケージのインストール
適当に以下のパッケージをインストールbuild-essential imagemagick zlib1g-dev libssl-dev libreadline-dev libmagick-dev libmagickcore-dev libmagickwand-dev sqlite3 libsqlite3-dev automake bison mysql-server mysql-client libmysqld-dev libmysqlclient-dev libcurl4-openssl-dev libapr1-dev libaprutil1-dev libxslt-dev libxml2-dev※この時点ではRubyは入れない
RVMのインストール
RVMはRubyのバージョンのスイッチとか簡単に出来るので便利公式サイトどおりに以下のコマンドですぐインストールされる
curl -L get.rvm.io | bash -s stable source ~/.rvm/scripts/rvm
Rubyのインストール
rvm install ruby rvm list rvm use 1.9.3 --default
必要なGemインストール
gem install bundler gem install rails gem install unicron
その他の設定
あとJavaScriptエンジンが足りないとか起こられたら こちらを参照して設定するGemfileに以下を追記
gem 'execjs' gem 'therubyracer'
rails new hoge cd hoge rails server
2012年3月21日水曜日
perlのワンライナーでファイルの一括リネーム
メモしておく
以下の例はファイルの拡張子を残して連番にする例
リネーム前確認
リネーム
以下の例はファイルの拡張子を残して連番にする例
リネーム前確認
perl -le 'for(@ARGV){$n=$o=$_;$n=~s/.+(\..+)/sprintf("%04d$1",++$i)/e;print "$o => $n"}' *
リネーム
perl -le 'for(@ARGV){$n=$o=$_;$n=~s/.+(\..+)/sprintf("%04d$1",++$i)/e;rename $o,$n}' *
2012年3月19日月曜日
github使ってみた
今更だけどgithub使ってみたときのメモ
とりあえず初期設定は下記参考リンク見ながらやればOK
以下はリポジトリの作成→アップロードまで簡易版のメモ
感想
コマンドから簡単にWebのホスティングサービスにアップロードできるのは超便利
ただし、非公開のリポジトリは無料ユーザーでは作れないので注意すること
リポジトリの削除はこちらに書いてある通り、リポジトリを開いてAdminから行える 参考リンク
github 超入門
github もうちょい入門
http://help.github.com/win-set-up-git/
とりあえず初期設定は下記参考リンク見ながらやればOK
以下はリポジトリの作成→アップロードまで簡易版のメモ
- gitの設定 名前とe-mailを設定
- sshの設定 .ssh/configに以下を書いておく
- リポジトリの作成 githubにログインして"New Repository"を押せばOK
- リポジトリにpush
git config --global user.name "Firstname Lastname" git config --global user.email "your_email@youremail.com"githubのユーザーIDとアクセストークンの設定 ※アクセストークンはAccount Settings→左メニューのAccount Settingsで見れる
git config --global github.user username git config --global github.token 0123456789yourf0123456789token
Host github.com User git Hostname github.com IdentityFile ~/.ssh/YOUR_PRIVATE_KEY
mkdir repname cd repname git init touch README git add README git commit -m 'first commit' git remote add origin git@github.com:yourid/repname.git git push -u origin master
感想
コマンドから簡単にWebのホスティングサービスにアップロードできるのは超便利
ただし、非公開のリポジトリは無料ユーザーでは作れないので注意すること
リポジトリの削除はこちらに書いてある通り、リポジトリを開いてAdminから行える 参考リンク
github 超入門
github もうちょい入門
http://help.github.com/win-set-up-git/
2012年3月14日水曜日
CUI(テキストベース)のメッセンジャー
CUIでメッセが出来たらいいなーと思って探してみた
centerim
finch
参考リンク
http://techno-st.net/2009/02/18/cui-im.html
http://d.hatena.ne.jp/goth_wrist_cut/20080128/1201484704
centerim
finch
参考リンク
http://techno-st.net/2009/02/18/cui-im.html
http://d.hatena.ne.jp/goth_wrist_cut/20080128/1201484704
2012年3月11日日曜日
HDDが故障したときにやったこと
/dev/sddが故障を検地 (S.M.A.R.T)
まずはsmartのセルフテストをやってみる
badblocksでHDDをチェック
今回は読み込みチェックだけやった
-v 詳細表示
-n 非破壊テスト
http://nabe.blog.abk.nu/0245
ファイルシステムが壊れてそうなら
fsck
を使うこと
まずはsmartのセルフテストをやってみる
smartctl -t long /dev/sdd
badblocksでHDDをチェック
今回は読み込みチェックだけやった
badblocks -s -v /dev/hda書き込みチェックもやるなら↓
badblocks -s -v -n /dev/hda-s 進捗状況表示
-v 詳細表示
-n 非破壊テスト
http://nabe.blog.abk.nu/0245
ファイルシステムが壊れてそうなら
fsck
を使うこと
2012年3月9日金曜日
dwmのキーマップの変更
ソースをダウンロードしてから
makeする
以下のとおり変更
参考リンク
http://wiki.mma.club.uec.ac.jp/clear/dwm
makeする
apt-get source dwm
以下のとおり変更
#define MODKEY Mod1Mask ↓ #define MODKEY Mod4Mask static const char *termcmd[] = { "uxterm", NULL }; ↓ static const char *termcmd[] = { "x-terminal-emulator", NULL };
makeあとは出来たdwmをフォルダに突っ込めばOK
参考リンク
http://wiki.mma.club.uec.ac.jp/clear/dwm
2012年3月1日木曜日
mysqlを使ってみる
インストールはmysql-clientとmysql-serverを入れればOK
mysqlへの接続
DB一覧の表示
databasesの切り替え
テーブルの表示
phpmyadminへのログイン
http://192.168.0.1/phpmyadmin/
バックアップ
リストア
mysqlへの接続
mysql -u root -p
DB一覧の表示
show databases;
databasesの切り替え
use データベース名
テーブルの表示
show tables;
phpmyadminへのログイン
http://192.168.0.1/phpmyadmin/
バックアップ
mysqldump --user=root --password=hoge --all-databases > /tmp/mysql.dump
リストア
mysql -u root -phoge < /tmp/mysql.dump
2012年2月5日日曜日
Catalyst+lighttpd+fastcgiで動かしてみる
Catalyst+lighttpd+fastcgiで動かす場合の設定メモ
今回は下の図のように動かす
Catalystはスタンドアロンで動かすほうが早い気がする
bin-path指定で動かす場合はこちらを参照
参考リンク
Deploying Catalyst Applications
Deploying Catalyst applications with lighttpd and FastCGI
/etc/init.dに作った起動スクリプトのリンク設定とか
Configuration File Syntax
今回は下の図のように動かす
Catalystはスタンドアロンで動かすほうが早い気がする
bin-path指定で動かす場合はこちらを参照
- conf編集 /etc/lighttpd/conf-enabled/10-fastcgi.confを編集 今回のサーバーではlighttpdは普通のWebサーバーとして使っているので、ポートで切り分ける以下を追加 あとserver.port文を消す
- Catalystの起動 ポート越しにやりとりするからパーミッションとかは適当でOK
- デーモン化する /etc/init.dにスクリプトを書けば自動起動する こちらを参考に適当にスクリプト書けばOK
$SERVER["socket"] == "192.168.0.4:5000" { #server.port = 5000 fastcgi.server = ( "" => ( # the extension is empty because we want to match on any extension "myserver1" => ( "host" => "192.168.0.4", "port" => 5001, "check-local" => "disable" ) ) ) } $SERVER["socket"] == "192.168.0.4:4000" { }
script/helloworld_fastcgi.pl --listen 192.168.0.4:5001 --keeperr 2
参考リンク
Deploying Catalyst Applications
Deploying Catalyst applications with lighttpd and FastCGI
/etc/init.dに作った起動スクリプトのリンク設定とか
Configuration File Syntax
2012年2月2日木曜日
LinuxでISO=>aviエンコード(DVDリッピング)
LinuxでDVDのISOイメージをavi化する方法を調べたのでメモ
- リポジトリにdebian-multimediaを追加 /etc/apt/sources.listに以下の一行を追加
- acidripをインストール
- ISOイメージをマウント
- acidripを起動
deb http://www.debian-multimedia.org squeeze main non-freeこのFAQにあるとおり公開鍵をインストール
dpkg -i debian-multimedia-keyring_2008.10.16_all.deb
apt-get update apt-get install acidrip
mount -o loop /tmp/DVD.ISO /mnt
acidrip/mntを指定してエンコード あとはGUIなので分かるはず
2012年1月31日火曜日
Linuxでtorを使ってみる
Torは匿名のプロキシとして動作する
インストール
/etc/tor/torrcを編集
SocksListenAddress 192.168.0.4(Torが入っているサーバーのアドレス)
を追加
あとは再起動でOK
これで192.168.0.2から接続できた
SocksPolicyは何も設定しなければ全て許可
インストール
apt-get install tor
/etc/tor/torrcを編集
SocksListenAddress 192.168.0.4(Torが入っているサーバーのアドレス)
を追加
## Replace this with "SocksPort 0" if you plan to run Tor only as a ## relay, and not make any local application connections yourself. SocksPort 9050 # what port to open for local application connections SocksListenAddress 127.0.0.1 # accept connections only from localhost SocksListenAddress 192.168.0.4
あとは再起動でOK
killall tor tor
これで192.168.0.2から接続できた
SocksPolicyは何も設定しなければ全て許可
2012年1月26日木曜日
最近のCygwinをインストール
最近のCygwinが便利になってたので導入メモ
1.インストール
公式サイトからsetup.exeを持ってくる
ソフトのインストールに毎回setup.exeを使うのは面倒なので、apt-cygを導入する
2.Xサーバの導入
setup.exeからX11を選択して全部入れる
そんでウィンドウマネージャとしてdwmを入れる
ソースは公式サイトから拾ってビルド
3.その他設定
あとは便利に使うコマンドとしてcygstartを覚えておくと良いかも
詳しくはこちら
コンソールの設定だけど右クリック→Options→Looks→背景色とか透過とかカーソルをいじる
Xサーバーに飛ばしたかったらアプリ起動側で変数設定すること
関連記事
http://rdt17.blogspot.com/2011/05/xming.html
1.インストール
公式サイトからsetup.exeを持ってくる
ソフトのインストールに毎回setup.exeを使うのは面倒なので、apt-cygを導入する
2.Xサーバの導入
setup.exeからX11を選択して全部入れる
そんでウィンドウマネージャとしてdwmを入れる
ソースは公式サイトから拾ってビルド
tar xzf dwm-6.0.tar.gz cd dwm-6.0 make mv dwm.exe /usr/bin/あとは~/.xinitrcに適当に書いてstartxでOK
xhost +192.168.0.4 dwm
3.その他設定
あとは便利に使うコマンドとしてcygstartを覚えておくと良いかも
詳しくはこちら
コンソールの設定だけど右クリック→Options→Looks→背景色とか透過とかカーソルをいじる
Xサーバーに飛ばしたかったらアプリ起動側で変数設定すること
export DISPLAY="192.168.0.3:0"
関連記事
http://rdt17.blogspot.com/2011/05/xming.html
2012年1月24日火曜日
コマンド補完を強力にしてくれるbash_completion
インストールはaptでできる(bash-completion)
.bashrcに以下の記述をすればOKだけどDebianの場合は予め書いてあった
その他詳しいことは
http://d.hatena.ne.jp/orangeclover/20110204/1296769974
http://d.hatena.ne.jp/wadap/20080601/1212312418
.bashrcに以下の記述をすればOKだけどDebianの場合は予め書いてあった
if [ -f /etc/bash_completion ] && ! shopt -oq posix; then . /etc/bash_completion fi
その他詳しいことは
man dh_bash-completion参考リンク
http://d.hatena.ne.jp/orangeclover/20110204/1296769974
http://d.hatena.ne.jp/wadap/20080601/1212312418
2012年1月9日月曜日
自分があとどれくらいの時間生きていられるか?
自分があとどれくらいの時間生きていられるか簡単にわかるサイトです
ライフカウンター
残された時間がすぐに分かって便利です。
例えば本日1/9誕生日の25歳の場合、残された時間は482113時間です。(寿命80歳までと仮定して)
毎日8時間寝るとすると人生の1/3ですから160704時間寝ています
この人はSEをしていて、毎日残業して14時間働き、休日出勤も多いので年間休日は100日です
定年は65歳にあがったみたいなので、65歳とします
14 x (365 - 100) x (65-25) = 148400時間が働いている時間です。
まとめると以下のようになります
自由な時間は全体の35%しかないことが分かります。
何か仕事とは別にやりたい事や目標がある場合、残された173009時間でやる必要があります。
年にすると約20年しかないですので結構少ない気がします。
(実際には自由な時間中に家事、食事、冠婚葬祭等がありますのでずっと少ないです)
もし、働いている時間も自由な時間も充実していなかったとしたら死ぬ時に後悔するんじゃないでしょうか?もしこの例のような生活をしているSEの方が居ましたら考え直した方が良いかもしれないです。
ライフカウンター
残された時間がすぐに分かって便利です。
例えば本日1/9誕生日の25歳の場合、残された時間は482113時間です。(寿命80歳までと仮定して)
毎日8時間寝るとすると人生の1/3ですから160704時間寝ています
この人はSEをしていて、毎日残業して14時間働き、休日出勤も多いので年間休日は100日です
定年は65歳にあがったみたいなので、65歳とします
14 x (365 - 100) x (65-25) = 148400時間が働いている時間です。
まとめると以下のようになります
寝ている時間 160704h 働いてる時間 148400h 自由な時間 173009h 合計 482113h
自由な時間は全体の35%しかないことが分かります。
何か仕事とは別にやりたい事や目標がある場合、残された173009時間でやる必要があります。
年にすると約20年しかないですので結構少ない気がします。
(実際には自由な時間中に家事、食事、冠婚葬祭等がありますのでずっと少ないです)
もし、働いている時間も自由な時間も充実していなかったとしたら死ぬ時に後悔するんじゃないでしょうか?もしこの例のような生活をしているSEの方が居ましたら考え直した方が良いかもしれないです。
2012年1月8日日曜日
2012年1月6日金曜日
/boot/grub/grub.cfgのrootってどこから設定されている?
というわけで調べてみた
update-grub2のコールスタック
/etc/grub.d/10_linuxを見れば分かるとおり
grub.cfgの$linux_root_device_thisversionによって作られています。
で、これは$GRUB_DEVICEから作られています。(grub-mkconfig参照)
結局、$GRUB_DEVICEはどこを参照しているかというと以下のコマンドで出してます。
というわけでgrub-probeというコマンドの結果を入れているので、grub legacyみたいに設定値ではありません。じゃあどうやってrootパラメータを変更するの?って話になるけど、それはchrootするとか
GRUBメニュー選択時にEDITするとかが良いんじゃないでしょうか?
update-grub2のコールスタック
/etc/grub.d/10_linuxを見れば分かるとおり
grub.cfgの$linux_root_device_thisversionによって作られています。
で、これは$GRUB_DEVICEから作られています。(grub-mkconfig参照)
結局、$GRUB_DEVICEはどこを参照しているかというと以下のコマンドで出してます。
grub-probe --target=device /
というわけでgrub-probeというコマンドの結果を入れているので、grub legacyみたいに設定値ではありません。じゃあどうやってrootパラメータを変更するの?って話になるけど、それはchrootするとか
GRUBメニュー選択時にEDITするとかが良いんじゃないでしょうか?
/dev/disk/by-uuidに無いHDDがある?
答え
mkfsでフォーマットしてないからです。
フォーマットすれば出ます。
ファイルシステム単位につけるものらしいね
だからmkfsしなおしたら変わります
ご注意を
参考リンク
http://manual.aptosid.com/ja/part-uuid-ja.htm
mkfsでフォーマットしてないからです。
フォーマットすれば出ます。
ファイルシステム単位につけるものらしいね
だからmkfsしなおしたら変わります
ご注意を
参考リンク
http://manual.aptosid.com/ja/part-uuid-ja.htm
登録:
投稿 (Atom)