
私は最近、WindowsからLinuxサーバーに移行したさまざまなMySQLデータベースを管理することを担当しています。彼らはよく戻り、すべてが大丈夫です。ところで、今朝はエラーログを確認する必要がありましたが、今は記録されています/var/log/syslog
。
私のシステム管理者は今日仕事をしていましたが、生涯にわたってこのデータを読み取る方法がわかりません。
以下を使用して最新のデータを取得できます。
tail -f /var/log/syslog
しかし、今朝1時以降はどのようにデータにアクセスできますか?それとも昨日から。
私は試した:
grep mysqld /var/log/syslog | less
ところで、これは午前6時以降のデータを示しています。
それから試しました。
grep '^Nov 4 01' /var/log/syslog | less
しかし、これは私に長いリストだけを示しています^
答え1
システムログの取得回転定期的にやってください。結果は次のとおりです。
$ ls /var/log/syslog*
/var/log/syslog /var/log/syslog.1 ... /var/log/syslog.7.gz
一般および循環システムログファイルから "mysqld"パターンをgrepするには、圧縮されていないファイルと圧縮されたファイルをgrepできるzgrepを使用します。
$ zgrep mysqld /var/log/syslog* | less
"mysql"と特定の日付を含む行を見つけるには、拡張を有効にする-Eスイッチを使用します。一般的な表現:
$ zgrep -E 'Nov 4 01.+mysqld' /var/log/syslog* | less