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

2012/01/31

[Linux] ファイルの所有者の変更とパーミッションの変更


メモメモ

chown ユーザー名 ファイル名

chmod 777 ファイル名

この777とか644とかってなんて名前なんだろう?

正確にしらべたいなら↓こちら
【 chown 】 ファイルやディレクトリの所有者を変更する
【 chmod 】 ファイルやディレクトリのアクセス権を変更する

2011/09/01

[Linux] サーバーの負荷を調べる

サーバーの負荷を調べることは多いと思う。
サイトが重いとか、cronで重い処理を定期的に動かしているとか。

・topコマンド
現在のシステムの状態を表示する
5秒おきに表示が更新される

・uptimeコマンド
cpuの負荷が見れる

・sarコマンド
管理者向けのいろんな情報が見れる
さかのぼってデータを見ることができる

参考:
top - システム情報をリアルタイム監視 | Linuxサーバ監視
uptime - システムの稼動期間・平均負荷調査
sarコマンド - CPU・ネットワーク・メモリ・ディスク情報確認

2011/06/24

[Linux] 決まった時間にプログラムを自動で実行させる cron

サーバーのバックアップみたいに定期的に自動でプログラムを実行させたい場合にはcronを使う。


cronの表示
crontab -l


cronの編集
crontab -e


データベースの不要なデータやサーバー内の不要なファイルを削除するクリーンアップ用のプログラムを自動で毎日実行するってことになった。
通常通り指定するなら


0 6 * * * /home/sites/example.com/db_clean.sh
これで朝6時に実行される。
だけど、今回は6時からデータベースとサーバーのバックアップ処理がcronで設定されていた。
バックアップと削除の作業がかぶると大変なことになりそうなので、バックアップが終わってからクリーンアップを始めたかった。


なのでクリーンアッププログラムの最初でバックアップ作業がまだ動いてるかどうか判定してから処理を進めるようにした


cronの設定はこんな感じ
*/10 9-13 * * * /home/sites/example.com/db_clean.sh
9時~13時の間で10分おきにクリーンアッププログラムを実行してみる
バックアップが終了していたら動き出す

クリーンアップは1日1回でいいので、1度実行されたらそれていたら、その日はそれ以上実行しないようにする処理も必要になる

2011/06/10

[Linux]シェルコマンドで文字列表示と引数の受け渡しとループ処理

まず1行目にはこれ。
#!/bin/sh
意味は#!で書かれたプログラムで実行しますってこと

■文字を表示する
echo "text"

■引数の受け渡し
・渡し方
command hikisuu
↑これでOK

・受け取り方
echo $1
これで1番目の引数を受け取ることができる。

引数が複数ある時は$2, $3と増やしていけばOK
$*で全部の引数を受け取る


■コマンド内で変数を使う
command="command $1";
↑コレで変数commandの中に受け取った引数を入れた文字列を格納した。
※注意 =の前後にスペースを入れてはいけないよ
echo $command
↑作った変数を使うときは$を付ける。

■繰り返し処理する(ループ処理)
・while
count=1
while [ $count -le 繰り返したい回数 ];
do
//ここに処理
count=`expr $count + 1`
done


参考:bashで始めるシェルスクリプト基礎の基礎

2011/06/09

[Linux]rmコマンドでディレクトリ内ファイルを*(アスタリスク)で指定すると隠しファイルが削除されない

ディレクトリの中身だけ削除する処理があって、中身がファイルだろうとディレクトリだろうと消してしまうんだけど、元のディレクトリは残しとかないといけないってことがあって

rm -rf /home/path/dir/*

ってコマンドで、簡単にディレクトリの中身消せるなと思ってたんだけど、コマンド実行後に実際にディレクトリの中身をみると「.htaccess」が残ってた。

どうやら*で指定すると、隠しファイルは削除出来ないみたい。

とりあえずは上のコマンドとは別にもう一回

rm -rf /home/path/dir/.htaccess

ってコマンドを実行することにした。
.htaccess以外の隠しファイルは削除していいのかどうかはっきりしてなかったんで、とりあえず.htaccessだけを指定したけど、正規表現でうまく指定できれば一回で終わりそう。