0

ログをフラット ファイルに保存するアプリケーションを使用するプロジェクトに取り組んでいます。

ただし、ログは監視目的で mysql データベースにも保存する必要があります。

ログファイルを入力として使用してデータベースを作成することはできますか? だから、それは mysqldump の逆になると思いますか?

4

1 に答える 1

0

はい、可能です。これを行うには無数の方法があります。ここでは、sqlite3 をデータベースとして bash を使用する方法を示します。

dw2:/tmp$ echo 'create table log (datetime string, message varchar(255));' | sqlite3 test.db
dw2:/tmp$ cat test.log
2013-01-16 05:24:40-05:00 Log line 1
2013-01-16 05:24:42-05:00 Log line 2
2013-01-16 05:24:44-05:00 Log line 3
2013-01-16 05:24:46-05:00 Log line 4
dw2:/tmp$ while read date time logmsg; do 
    echo "insert into log values ('$date $time', '$logmsg');" | sqlite3 test.db
done < test.log
dw2:/tmp$ echo 'select * from log;' | sqlite3 test.db                           
2013-01-16 05:24:40-05:00|Log line 1
2013-01-16 05:24:42-05:00|Log line 2
2013-01-16 05:24:44-05:00|Log line 3
2013-01-16 05:24:46-05:00|Log line 4
于 2013-01-16T10:34:22.490 に答える