https://github.com/hiroyukimakita/docker-cron
Docker Cron
https://github.com/hiroyukimakita/docker-cron
cron docker docker-compose logrotate makefile
Last synced: 2 months ago
JSON representation
Docker Cron
- Host: GitHub
- URL: https://github.com/hiroyukimakita/docker-cron
- Owner: HiroyukiMakita
- License: mit
- Created: 2025-06-28T17:42:15.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-06-28T19:23:14.000Z (about 1 year ago)
- Last Synced: 2025-06-28T19:30:30.956Z (about 1 year ago)
- Topics: cron, docker, docker-compose, logrotate, makefile
- Language: Makefile
- Homepage:
- Size: 6.84 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Docker Cron





リポジトリを `clone` 後、`make` を実行するだけで、cron が動き出します。
デフォルトでは、実行時の日時をログファイルに書き込む処理が毎分実行されます。
## ◯ 概要
`./cron.d/schedule` を編集したり `./cron.d/` 配下にファイルを配置することで任意の処理を実行させることが可能です。
※ cron を再起動すると反映できます(`restartcron` エイリアスが使えます)
※ コンテナ内で `./cron.d/` 配下に配置されるファイルの所有者は `root` ユーザーである必要があります。(`WRONG FILE OWNER` というエラーがでる)
※ コンテナ内の `./cron.d/` は root 権限にしてあるから多分大丈夫だけどうまく動かない場合はそのへんの権限系を確認すること
また、コンテナ内の `/var/log/cron/` 配下に生成されたファイルはホストの `./logs/` 配下にマウントされるので永続化されます。
## ◯ build & up
- .env ファイルをコピーして、必要に応じて編集してください
特に、タイムゾーンを変更したい場合は、`TIMEZONE` の値を変更してください。
(デフォルトは `Asia/Tokyo`)
```bash
$ cp -n .env.example .env
```
- `make` コマンドを実行して、コンテナをビルド&起動します
```bash
$ make
# または、make コマンドが使えない方は以下
$ mkdir -p ./logs && \
docker compose build && \
docker compose up -d && \
docker compose exec linux bash
```
## ◯ コンテナの起動や停止など
```bash
# コンテナの起動
$ make up
# コンテナに入る
$ make exec
# コンテナの停止
$ make down
```
## ◯ コンテナ内では以下のエイリアスでいろいろできる
```bash
# cron の起動
$ startcron
# cron の停止
$ stopcron
# cron の再起動
$ restartcron
# cron が動いてるか確認
$ cronstatus
# cron のログを tail -f 表示
$ cronlogs
# cron のログを less 表示
$ cronlogall
```