w0s.jp
サーバーで稼働しているシェルスクリプト
あくまで個人的な趣味で作成しているものです。機密にすることもないので公開している程度のものです。ドキュメントも最低限ですし、必ずしも最新状況に追従できるとも限りません。
名称 | 機能名 | 使用データベース | 概要 |
---|---|---|---|
テスト | Test | ― | 動作確認用。環境整備の際はまずはこれが動くことを目指す |
ウェブ巡回(新着) | CrawlerNews | crawler | ウェブページを巡回し(HTML ページのみ)、新着情報の差分を調べて通知する |
ウェブ巡回(リソース) | CrawlerResource | crawler | ウェブページを巡回し(HTML リソースに限らない)、レスポンスボディの差分を調べて通知する |
JR 空席確認 | JrCyberStation | ― | JR CYBER STATION で空席があれば通知する |
横浜市立図書館 予約連絡 | YokohamaLibraryHoldNotice | ― | 横浜市立図書館蔵書検索で予約した本は受取可能になっても連絡メールは翌朝配信なため、到着日に受け取れるようログインページをスクレイピングして独自に通知メールを送る(受取可能になる時間帯は各館によって概ね決まっているため、その時間帯に実行する) |
npm install
build
実行(package.json
のscripts
内に定義されたbuild
を実行することで JavaScript ファイルが出力される)。log4js.json
を作成(下記にサンプルを掲載)env
ファイルを作成configure
ディレクトリ内に動作させたい機能名の設定ファイルを作成(e.g. 「テスト」機能を動作させるなら、node/configure/schema/test.json
を参考にnode/configure/test.json
を作成)- データベース(SQLite)を使用する機能は DB ファイルを用意(現状、テーブル定義は非公開)。
- プログラム実行(
package.json
のscripts
内に定義されたshell:{機能名}
を実行することで、プログラムが実行される)。
{
"appenders": {
"stdout": {
"type": "stdout"
}
},
"categories": {
"default": {
"appenders": ["stdout"],
"level": "debug"
}
}
}