カテゴリー
IT Tips

Linuxサーバ実機のターミナル上で、コンソールログの出力レベルを調整する方法

通常サーバを操作するとすれば、sshやtelnetをお使いになっていると思いますが
仮に遠隔上のターミナルではなく、実機を操作する際に
コマンドの入力中にログがリアルタイムに出力されて、鬱陶しい思いをしたことのある方は少なからずいらっしゃるのでは。
今日は、そんな邪魔なコンソールエラーを消す方法をご紹介。

#syslogのコンフィグを編集
vi /etc/sysconfig/rsyslog

#↓以下をコメントアウト
#SYSLOGD_OPTIONS="-c 5"

#追加
SYSLOGD_OPTIONS="-x -c 4"

# syslog再起動
sudo systemctl restart rsyslog

※1 コンフィグの内訳:IP→ホストの名前引きをせず、エラーレベル4以下(レベル5~7)のログ出力をしない。
-x:IP→ホストの名前引きをせず、IPのみ記録する
-c:コンソールに出力するログのレベルの既定値を指定する(例:-c 4)

※2 エラーレベルの内訳:
0:システムが利用できなくなった
1:早急に対応しなくてはならない
2:緊急状態
3:エラー発生状態
4:注意が必要
5:お知らせ程度
6:情報
7:デバッグメッセージ

カテゴリー
IT Tips

phpでUserAgentからブラウザ・OS・モバイル端末の詳細情報諸々を取得する方法

phpのbrowscap.iniを用いれば、UserAgentからブラウザや端末の様々な情報の解析がラクに出来るようなります。
今回はその自動browscap.iniの自動更新シェルとサンプルをご紹介。

1.下準備。
・phpのバージョンが4.3.2以上であることを確認
・php.ini中の”browscap”のファイルパスを指定。
(ここでは”/etc/php.d/browscap.ini”と仮定する)

2.UserAgentのデータベースを自動更新するスクリプトを作成

#sudo vi /etc/cron.daily/php-browscap-update
#!/bin/sh
wget -P /etc/php.d http://browscap.org/stream?q=Full_PHP_BrowsCapINI > /dev/null 2>&1
mv -f /etc/php.d/stream?q=Full_PHP_BrowsCapINI /etc/php.d/browscap.ini
systemctl reload httpd.service

3.cronスクリプトのユーザ権限とパーミッションを設定する

sudo chown root:root /etc/cron.daily/php-browscap-update
sudo chmod +x /etc/cron.daily/php-browscap-update

4.一度、上記スクリプトを走らせておく

sudo sh /etc/cron.daily/php-browscap-update

5.UserAgentから端末情報の詳細を得るphpスクリプトを作成
・HTTPアクセスで得る場合

#vi /path/to/get_brouser_info.php
<html lang="ja">
<head>
<meta charset="UTF-8">
</head>
<body>
<?php
$browser = get_browser(null, true);
echo "<pre>\n";
print_r($browser);
echo "</pre>\n";
?>
</body>
</html>

・引数で得る場合

#vi /path/to/closed_directory/get_browser_info.php
#!/usr/bin/php
<?php
$browser = get_browser($argv[1], true);
print_r($browser);
?>

#/path/to/closed_directory/get_browser_info.php "[第一引数にUserAgent]"
カテゴリー
IT Tips

有効なコンフィグだけを抜き出す正規表現

要は、コンフィグファイルを覗いて
設定変数の頭にコメントアウトが入っていなければ、その設定が生きているということ。
なので、こう。

cat /path/to/config_file | grep ^[^\#\;\/]

[amazon_link asins=’4873114500′ template=’SupportedAMP’ store=’10yendama-22′ marketplace=’JP’ link_id=’372d9f5e-2725-11e8-b8bd-7bd8d540e154′]

カテゴリー
IT Tips

入れておくと便利なLinuxコマンドのエイリアス

ユーザ個別

#vi ~/.bashrc
alias ls='ls -la $1 --color=auto'
alias grep='grep --color'

全ユーザに適用

#vi /etc/bashrc
alias ls='ls -la $1 --color=auto'
alias grep='grep --color'
カテゴリー
IT Tips

開発環境を、Aptana Studio+その他開発環境色々からTitanium Studioに一元化した話

仕事の殆どがLAMP開発ですが、開発環境が散乱していたので
IDEを一元化した。
今回導入したTitanium Studioでは、Android SDKやiOS等との連携性がアップし、HTML5+JSでアプリへのコンパイルができるので
スマホアプリの作成が簡単になりました( ^ヮ^)ノ

但し相も変わらず、プロジェクトソース→iOSアプリへの変換は
OSX環境にしか入れられないiOS SDKを必要とするので、
マカーさんに専用の環境を入れてもらって、コンパイルの都度端末を借りるしかない。

いや、いくつか方法はある。
PCがIntelプラットフォームなら、仮想OSにOSXを入れられる。
そこにTitanium StudioとiOS SDKを入れて、プロジェクトフォルダをホストOSのそれと共有化。
ほんで、仮想OSX上でコンパイルをかけ、iOSのエミュレータで動作確認出来ればよし。

然し、俺のPCはAMDプラットフォームで
諸事情によりApple製品を持っていない(嫌いなわけではない)。
尤も、ホストOS以外で動くモノを作るにしたって
要件に沿ったテストとコンパイルさえできれば、仮想環境で十分なのだ。
テスト用の実機があるにこしたことはない。
ただ、傍から見ていると「わざわざその運用方法で実機を用意するのは馬鹿げている」と思うことがしばしばある。
もう一言添えると、オープンソース開発者泣かせのApp○eケツ出せ。

なので俺はいつも
「『アプリでないとダメ!』という明確な根拠がなければ、最初からブラウザアプリとして開発したほうがコスパが良いよ」と薦めている。

・・・中古のMacとiPad用意したほうがええのかな。(‘A`)もったいねえな

※Linux厨とFirefox厨なのは認めますが、アンチApp○eではござーせん。┐(^ヮ^`)┌

[amazon_link asins=’4839941084′ template=’SupportedAMP’ store=’10yendama-22′ marketplace=’JP’ link_id=’4b9291c3-2725-11e8-9cdb-c1e399fbc19f’]