ログファイルをクリアする方法


作業中に実行中のmysqlのログファイルなどのログファイルを直接削除できない場合は、ファイルの内容を空にする方法でのみクリアできます.たとえば、次のようにします.
cat /dev/null > ...log

次のスクリプトは、root権限を持つユーザーのみが実行できるシステムログmessagesの内容を消去します.
#!/bin/bash
LOG_DIR=/var/log
ROOT_UID=0        # $UID 0   ,     root  
#     root     
if [ "$UID" -ne "$ROOT_UID" ]
then
    echo "Must be root to run this script!"
    exit 1
fi
cd $LOG_DIR || {
    echo "Cannot change to necessary directory!" >&2
    exit 1
}
cat /dev/null > messages && echo "Logs cleaned up!"
exit 0
#       0    ,  1