Perl で、サーバにモジュールがインストールされているか確認する方法
コマンドラインから、以下の 1行を実行する。
引数 -M と <モジュール名> の間には、スペースはいらない。
# perl -M<モジュール名> -e ''
もしモジュールがインストールされていれば何も起こらない。モジュールがインストールされていなければ Can't locate <モジュール名>.pm 云々というエラーが出る。
コマンドラインから、以下の 1行を実行する。
引数 -M と <モジュール名> の間には、スペースはいらない。
# perl -M<モジュール名> -e ''
もしモジュールがインストールされていれば何も起こらない。モジュールがインストールされていなければ Can't locate <モジュール名>.pm 云々というエラーが出る。
checkbot を利用するといいだろう。
これは Perl ベースのコマンドラインツールで、実行するとリンク切れをチェックして HTML を出力する。その HTML に書き出された検出結果をブラウザから見るという使い方。
この checkbot、UTF-8 で書かれたサイトを指定してて実行すると、
Parsing of undecoded UTF-8 will give garbage when decoding entities at
/usr/lib/perl5/site_perl/5.8.7/LWP/Protocol.pm line XXX, line 1.
などのエラーが出るが、気にしないでよい。実行例としては、
./checkbot --url https://perltips.twinkle.cc/
--internal-only --ignore "\.js|hatena\.ne\.jp|\.ico"
※本当は全部 1行
のような感じで、上の例だと、https://perltips.twinkle.cc/ (このサイト)を対象にして、JavaScript のリンク (.js)、hatena.ne.jp、アイコンファイル (.ico) を無視し、サイト内だけリンク切れをチェックする、という設定である。
参考リンク
簡単にいうと、「scripts/setup.php 実行後、config/config.inc.php を ./ にコピー」 すればよい(Thanks、はてなの bangbangshoot さん)
-- DROP DATABASE IF EXISTS `phpmyadmin`;
-- CREATE DATABASE `phpmyadmin`
-- DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;
USE pma; ←データベース pma に変更
-- GRANT SELECT, INSERT, DELETE, UPDATE ON `pma`.* TO
-- 'pma'@localhost;
# mv phpMyAdmin-2.8.2 phpMyAdmin
(↑phpMyAdmin をインストールするディレクトリ名を phpMyAdmin にする)
# cd phpMyAdmin ← phpMyAdmin をインストールディレクトリに移動
# mkdir config (phpMyAdmin の中に、ディレクトリ名 config を作成)
# chmod o+rw config (アクセス権を設定)
# vi config.inc.php (空のファイルを作成)
# cd scripts (phpMyAdmin のあるディレクトリの、scripts ディレクトリに移動)
# mysql -u pma -p pma < create_tables_mysql_4_1_2+.sql
</code>
# cd .. (phpMyAdmin のディレクトリに移動)
# cp ./config/config.inc.php .
要は、以下の内容のファイルが phpMyAdmin のインストールされている直後のディレクトリ(つまり index.php と同じ場所)に、config.inc.php という名前で置いてあればよい。
<?php
$i = 0;
$i++;
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['extension'] = 'mysql';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'MySQL データベースへのマスターユーザー名';
$cfg['Servers'][$i]['password'] = 'MySQL データベースへのマスターパスワード';
?>
<?php
$i = 0;
$i++;
$cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark';
$cfg['Servers'][$i]['relation'] = 'pma_relation';
$cfg['Servers'][$i]['table_info'] = 'pma_table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma_table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma_column_info';
$cfg['Servers'][$i]['history'] = 'pma_history';
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['extension'] = 'mysql';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['controluser'] = 'データベース pma のユーザー名';
$cfg['Servers'][$i]['controlpass'] = 'ユーザー名 pma のパスワード';
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'MySQL へのマスターユーザー名';
$cfg['Servers'][$i]['password'] = 'MySQL へのマスターパスワード';
$cfg['Servers'][$i]['pmadb'] = 'ユーザー pma が使用するデータベース名';
?>
config.inc.php を設定(ファイルを index.php と同じ場所に置いた)したのに 「root@localhost でログインでない」 旨のエラーが出たら、phpMyAdmin に関する cookie をすべて削除(3つくらいあるかもしれない)してみよう。エラーが出ている場合は、phpMyAdmin は、./libraries/config.default.php を見に行っているようだ。
cron とはプログラムを自動実行するためのもの。 cron を設定するには,「crontab」と呼ばれるコマンドを利用する。オプションは次のようになっている。
crontab [-u user] { -l | -r | -e }
■オプション内容
-u ユーザを指定する。省略時は現在のカレントユーザになる
-l 現在のcron設定を表示する
-r 現在のcron設定を削除する
-e 現在のcron設定を編集する。設定内容がない場合は新規作成する
crontab -e を実行し、記述する書式は次の通り。
$ crontab -e
# 0分ごとに実行する
0 * * * * [コマンド]
# 5分おきに実行する
*/5 * * * * [コマンド]
# 1日1回、0時0分に実行する
0 0 * * * [コマンド]
# 0 時から 23 時までの 2 時間おきに、毎 23 分ごとに実行する
23 0-23/2 * * * [コマンド]
# 1月と 12月それぞれの 1〜20 日、23 時 00分に実行する
* 23 1-20 1,12 * [コマンド]
# 日曜日(0)から土曜日(6)まで 1分おきに実行する
*/1 * * * 0-6 [コマンド]
日時を指定するために指定(ワイルドカード)が 5つ並んでいるが,それぞれの意味は次のようになっている。
* * * * * [コマンド]
1 2 3 4 5
■ 日時指定方法
<table width="360" border="0" cellpadding="5" cellspacing="0">
<tr>
<td width="46" align="center" valign="center">左から何番目</td>
<td width="56" align="center" valign="center">単位</td>
<td align="center" valign="center">指定方法</td>
</tr>
<tr>
<td width="46" align="center" valign="center">1</td>
<td width="56" align="center" valign="center">分</td>
<td align="center" valign="center">0〜59、例:*/15</td>
</tr>
<tr>
<td width="46" align="center" valign="center">2</td>
<td width="56" align="center" valign="center">時</td>
<td align="center" valign="center">0〜23、例:0-23</td>
</tr>
<tr>
<td width="46" align="center" valign="center">3</td>
<td width="56" align="center" valign="center">日(月)</td>
<td align="center" valign="center">1から31、例:1-20</td>
</tr>
<tr>
<td width="46" align="center" valign="center">4</td>
<td width="56" align="center" valign="center">月</td>
<td align="center" valign="center">1〜12 (or names)、例:1,6,12</td>
</tr>
<tr>
<td width="46" align="center" valign="center">5</td>
<td width="56" align="center" valign="center">日曜〜土曜</td>
<td align="center" valign="center">0〜6、例:0-6</td>
</tr>
</table>
[09/20 13:49][twinkle@dione:~/www/cgi-bin]$
のように、
[日付][ログインアカウント名@サーバ名:カレントディレクトリ名]$
といったような書式でプロンプトを出すには、
.bashrc
の最後に以下の1行を追加すればよい (追加したらログアウト、再度ログインのこと)。
PS1="[\$(date +%m/%d) \$(date +%H:%M)][\u@\h:\w]$ "