次のログ記録スクリプトがあります。
#!/bin/bash
top -b -c -n 1 >> /var/log/toplog/top.log
私のcrontabの記録は次のとおりです。
*/1 * * * * /home/clime/scripts/toplog.sh
問題はtop.logの行が80文字に切り捨てられることです。たとえば、次のようになります。
1512 root 20 0 80756 1436 572 S 0.0 0.1 0:05.92 /usr/libexec/postfi
コンソールから直接コマンドを実行すると、これは発生しません。
COLUMNS変数を使ってみました。
*/1 * * * * COLUMNS=999 /home/clime/scripts/toplog.sh
ただし、これにより各行の長さは999文字になります。未使用のスペースは空白で埋められますが、これは私が望むものではありません。
この奇妙な問題を解決するには?私のシステムはcentos 6.3です。
ベストアンサー1
top
スペースは常に最後の画面列まで表示されます。末尾の空白のある行と空白のない行を視覚的に区別できないため、端末に印刷するときにそれを認識しません。マウスを使ってコピーして貼り付けるscreen
。
スペースを削除するには、スペースをフィルタリングします。
COLUMNS=9999 top -b -c -n 1 | sed 's/ *$//' >>/var/log/toplog/top.log
何のために走っていても、おそらくtop
より良い選択肢があります。監視装置利用可能なツール。