ラベル shell の投稿を表示しています。 すべての投稿を表示
ラベル shell の投稿を表示しています。 すべての投稿を表示

2012/07/09

VirtualBoxのCentOSでCPU使用率が上がる問題

/etc/grub.conf を下記のように編集


title CentOS (2.6.18-194.3.1.el5)
        root (hd0,0)
        kernel /vmlinuz-2.6.18-194.3.1.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet divider=10
        initrd /initrd-2.6.18-194.3.1.el5.img


http://digitalbox.jp/happy-go-lucky-computing/centos/howto-decrease-cpu-utilization-of-centos-on-virtualbox/

2011/07/29

VimでのZencodingメモ

div#side>ul.localnav>li*3>a

こんな感じで打った後、Ctr+yとカンマ[,]を打つと展開されます。
参考: http://d.hatena.ne.jp/sakurako_s/20110126/1295988873

プラグイン自体のインストールは前の記事にも書いたvundleが便利です。
http://iiidevelop.blogspot.com/2011/07/vimvundle.html

MySQLのダンプ

下記の感じでOK
mysqldump --password='password' -A > dump.sql

戻すときはリダイレクトで。
mysql < ./dump.sql

MySQL自動データベースバック

バックアップスクリプトの作成
vi mysql-backup.sh

内容は下記の通り

#!/bin/bash

PATH=/usr/local/sbin:/usr/bin:/bin

# バックアップ先ディレクトリ
BACKDIR=/backup/mysql

# MySQLrootパスワード
ROOTPASS=xxxxxxxx

# バックアップ先ディレクトリ再作成
rm  -rf $BACKDIR
mkdir -p $BACKDIR

# データベース名取得
DBLIST=`ls -p /var/lib/mysql | grep / | tr -d /`

# データベースごとにバックアップ
for dbname in $DBLIST
do
    table_count=`mysql -u root -p$ROOTPASS -B -e "show tables" $dbname|wc -l`
    [ $table_count -ne 0 ] &&
    mysqlhotcopy $dbname -u root -p $ROOTPASS $BACKDIR | logger -t mysqlhotcopy
done

権限を変更してcronに設定。
chmod 700 mysql-backup.sh
echo "0 5 * * * root /root/mysql-backup.sh" > /etc/cron.d/backup 

参考:http://centossrv.com/mysql-backup.shtml

戻すときはディレクトリごとコピーする
/bin/cp -Rf /backup/mysql/test/ /var/lib/mysql/ 

vim-refの設定

こちらを参考に 
http://d.hatena.ne.jp/holypp/20110703/1309711799

w3mをインストールしてくる。

% sudo port install w3m

RubyリファレンスのDLと設定
wget http://doc.okkez.net/archives/201106/ruby-refm-1.9.2-dynamic-20110629.tar.gz
tar zxvf ruby-refm-1.9.2-dynamic-20110629.tar.gz
mv ruby-refm-1.9.2-dynamic-20110629 rubyrefm

sudo vi /opt/local/bin/refe

記載内容は下記な感じで。
#!/bin/sh
exec ruby -Ke -I ~/Documents/Reference/rubyrefm/bitclust/lib ~/Documents/Reference/rubyrefm/bitclust/bin/refe.rb -d ~/Documents/Reference/rubyrefm/db-1_8_7 "$@"

権限の変更
sudo chmod 755 /opt/local/bin/refe

Shift+kでリファレンスを参照できる

Vimプラグイン管理のvundleインストール

開発環境は基本Vimで行っています。IDEも便利ですが重いのと色々ごちゃごちゃしていて集中力が落ちるのであまり使っていません。 Vim使いの人はプラグインを入れるともっと便利になるのですがその管理ツールVundleのインストール方法です。

VundleはRubyのBundleにインスパイアされたとのことで、必要なVimプラグインを.vimrcに書くだけでインストールできる管理ツールです。(Gemfileに当たるのが.vimrcというイメージです)

早速インストール方法は下記を参照すればOK。
https://github.com/gmarik/vundle/blob/master/README.md 

gitからVundel本体をとってきます。

$ git clone http://github.com/gmarik/vundle.git ~/.vim/bundle/vundle

あとは.vimrcに下記のような感じで必要なプラグインを記載。

set nocompatible               " be iMproved
 filetype off                   " required!

 set rtp+=~/.vim/bundle/vundle/
 call vundle#rc()

 " let Vundle manage Vundle
 " required! 
 Bundle 'gmarik/vundle'

 " My Bundles here:
 "
 " original repos on github
 Bundle 'tpope/vim-fugitive'
 Bundle 'Lokaltog/vim-easymotion'
 Bundle 'rstacruz/sparkup', {'rtp': 'vim/'}
 " vim-scripts repos
 Bundle 'L9'
 Bundle 'FuzzyFinder'
 Bundle 'rails.vim'
 " non github repos
 Bundle 'git://git.wincent.com/command-t.git'
 " ...

 filetype plugin indent on     " required!  

Ruby使いであれば下記を追記しておくと便利です。

Bundle 'Shougo/neocomplcache'
Bundle 'Shougo/unite.vim'
Bundle 'thinca/vim-ref'
Bundle 'thinca/vim-quickrun'

"Ruby
Bundle 'rails.vim'

"Html
Bundle 'mattn/zencoding-vim'

これらの設定をした後はvimを起動して:BundleInstallでプラグインを一括でインストールできます。vim-refについては次の記事で設定をまとめます。

2011/03/05

Serversmanのwordpressインストール

mysqlのインストール
yum install -y mysql mysql-server

文字コードの設定
vim /etc/my.cnf
下記を追記
default-character-set=utf8

MySQLを再起動、起動設定
/etc/rc.d/init.d/mysqld start
chkconfig mysqld on

DBの作成(MySQLで)
create database wordpress;
grant all privileges on wordpress.* to wordpress@localhost identified by 'パスワード';

Worpressをダウンロードして、解凍、設定(DBの設定は作ったDBの設定を入力)
wget http://ja.wordpress.org/wordpress-3.1-ja.zip
unzip wordpress-3.1-ja.zip
mv wordpress-3.1-ja /var/www/
chown -R apache:apache /var/www/wordpress/
cp /var/www/wordpress/wp-config-sample.php /var/www/wordpress/wp-config.php
vim /var/www/wordpress/wp-config.php

あとはSendmainlのインストールと起動設定
yum install sendmail
/etc/rc.d/init.d/sendmail start
chkconfig sendmail on

ServersmanのSSH初期設定

まずは接続
ssh root@xxx.xxx.xxx.xxx -p ポート番号
パスワードを入力で接続OK

バージョンを更新
yum update
新しいユーザーを作成してログインを許可
useradd user
passwd user
vim /etc/group
wheel::10:root,user
rootでのログインをなしに
vim /etc/ssh/sshd_config
PermitRootLogin no
AllowUsers user
SSHの再起動
/etc/init.d/sshd restart
exit
参考:http://d.hatena.ne.jp/deeeki/20100530/serversman_user_ssh

2010/07/10

shellスクリプトパラメーターの渡し方

Shellスクリプトのパラメーターは$0,$1,$2…で呼び出せます。$0はファイル名、$1からパラメーターになります。
#!/bin/sh
echo $1
という形でtest.shファイルを作成した場合は次の通りです。
$ sh test.sh hello
hello

2010/06/17

シェルスクリプトの書き方

サーバーメンテナンスなど定期的な処理は自動化しておくとミスも少なくなり便利です。基本的なシェルスクリプトの書き方をまとめておきます。


文章の頭には実行するための決まり文句を書きます。これは実行するファイルを指示しています。rubyやpythonであれば#!/bin/ruby、#!/bin/pythonなどと書きます。また指定位置は実行環境によって異なります。
#!/bin/sh 

次にファイルに実行属性をつけます。
$ chmod u+x ファイル名.sh 

あとはファイル内に命令を書き込むだけです。$で始まる文字列は変数として扱われます。条件分岐はif文、forループ、while文など使えます。
#!/bin/sh
TEST_TXT=/users/user/test.txt
TEST01=test01

echo replace test01.txt
cp ${TEST_TXT}.${TEST01} $TEST.TXT

あとは定期的に実行させるにはcrontabなどに登録しておけば良いです。
    下記コマンドにてcrontabの登録を行います。
    $ crontab -e
    
    設定項目は左から「分」「時」「日」「月」「曜日」となっています。
    下記の場合であれば毎月10日6時45分に実行されます。
    45 6 10 * * ファイル名
    
    「/」の後に実行したい間隔の値を設定することで、その間隔を設定可能。
    「-」で指定することで、実行範囲を設定可能。
    「,」で区切ることで、複数の値を設定可能。