Webの運用の最近のブログ記事

ステージング環境を簡単に作りたい時、シェルでrsyncを使えばすぐにできる。

index.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>ステージングもどきテスト</title>
</head>
<body>
<h1>ステージングもどきテスト</h1>
<a href="rsync.php">アップする</a>
</body>
</html>

rsync.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>ステージングもどきテスト</title>
</head>
<body>
<h1>ステージングもどきテスト</h1>
<?php
$output = shell_exec('rsync  -av --delete /var/www/html/virtual/test/ /var/www/html/virtual/public/');
echo "<pre>$output</pre>";
?>
</body>
</html>

■robots.txtを使う

ディレクトリごとなど、複数のページを検索クロール禁止にするには、
ドキュメントルートにrobots.txtを置いて設定すると早い。


User-agent: *
Disallow: /internet/
Disallow: /av.html

■metaタグを使う

ドキュメントルートにrobots.txtをおけない場合や、
1ページだけ検索クロール禁止すればいいだけの時はmetaタグで禁止する。


<meta name="robots" content="noindex,nofollow" />

■リンク元から遮断する

クロールされてほしくないページに直接metaタグを書き込めない場合は、
そのページをリンクしているページに指定することができる。


<a href="http://hogehoge.com/" rel="nofollow">クロールされたくないリンク先</a>

■.htaccessで検索ボットのアクセスを遮断

上記方法でクロールを禁止にできるのは、google、yahoo、msnなど代表的な検索サイトで、
いくつかの検索サイトは上記方法をスルーしてしまう。(例えば、metaの方法はexciteには適応されないなど。)
そういうサイトもブロックするには、webサーバー(apache)の設定ファイル.htaccessで、検索ボットの出入りを禁止する。

# Google
SetEnvIf User-Agent "Googlebot" shutout
SetEnvIf User-Agent "Googlebot-Image" shutout
Deny from 66.249.64.0/19

■緊急に削除したい場合

googleの場合は、下記のURL 削除リクエスト ツールを使うと削除できます。
http://www.google.com/support/webmasters/bin/answer.py?answer=61062

df
※DiskFreeの略らしい

出力例
-------------------------------------------------------------------------------
Filesystem 1K-blocks Used Available Use% Mounted on
 /dev/sda2 1035692 279112 703968 29% /
 /dev/sda1 101089 17767 78103 19% /boot
-------------------------------------------------------------------------------
du -sm ./
10Mバイト以上のファイルをリストアップ
find / -size 10000k -print
例)
300日以上、ファイルの更新がないファイルを3階層目まで出す
find / -maxdepth 3 -atime +300
ホスティングサーバーなどでシェルアクセスが禁止されていて、
シェルコマンドが打てない場合、
PHPのshell_exec()でシェルを実行することもできます。

<?php
$output = shell_exec('du -sm ./');
echo "<html><body><pre>$output</pre></body></html>";
?>