{"id":19660226,"url":"https://github.com/takumakanari/cronv","last_synced_at":"2025-05-16T12:11:23.570Z","repository":{"id":38206542,"uuid":"53233983","full_name":"takumakanari/cronv","owner":"takumakanari","description":"A visualizer for CRONTAB","archived":false,"fork":false,"pushed_at":"2024-11-11T08:10:18.000Z","size":81,"stargazers_count":313,"open_issues_count":5,"forks_count":29,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-04-02T06:11:18.387Z","etag":null,"topics":["cron","crontab","golang","visualization"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/takumakanari.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-03-06T02:37:14.000Z","updated_at":"2025-03-14T00:26:31.000Z","dependencies_parsed_at":"2024-12-02T17:32:06.501Z","dependency_job_id":null,"html_url":"https://github.com/takumakanari/cronv","commit_stats":null,"previous_names":[],"tags_count":21,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/takumakanari%2Fcronv","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/takumakanari%2Fcronv/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/takumakanari%2Fcronv/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/takumakanari%2Fcronv/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/takumakanari","download_url":"https://codeload.github.com/takumakanari/cronv/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247999859,"owners_count":21031046,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cron","crontab","golang","visualization"],"created_at":"2024-11-11T15:45:43.110Z","updated_at":"2025-04-09T08:02:54.582Z","avatar_url":"https://github.com/takumakanari.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# cronv\n\nVisualize your cron schedules in crontab\n\n![cronv output 1d](https://raw.github.com/wiki/takumakanari/cronv/images/outputs/cronv-1d.png)\n![cronv output 30m](https://raw.github.com/wiki/takumakanari/cronv/images/outputs/cronv-30m.png)\n\n\n## Install\n\n## go install\n\n```shell\ngo install -v github.com/takumakanari/cronv/cronv@0.4.5\n```\n\n```shell\n$ cronv --help\n```\n\n## Basic usage\n\nCronv can parse your crontab from stdin like as follows:\n\n```shell\n$ crontab -l | cronv -o ./my_cron_schedule.html\n```\n\nYou can also specify the duration to analysis job schedules.\n\nIn a case like the follows, the job schedules will be analyzed from now to 24 hours later:\n\n\n```shell\n$ crontab -l | cronv -o ./my_cron_schedule.html -d 24h\n```\n\n\n\n\u003e Cronv can parse cron entry written in basic cron format.\nYou can see the basically crontab specofication in [https://en.wikipedia.org/wiki/Cron#CRON_expression](https://en.wikipedia.org/wiki/Cron#CRON_expression).\n\n\n## Options\n\n```shell\nApplication Options:\n  -o, --output=    path to .html file to output (default: ./crontab.html)\n  -d, --duration=  duration to visualize in N{suffix} style. e.g.)\n                   1d(day)/1h(hour)/1m(minute) (default: 6h)\n      --from-date= start date in the format '2006/01/02' to visualize (default:\n                   2017/03/15)\n      --from-time= start time in the format '15:04' to visualize (default:\n                   19:28)\n  -t, --title=     title/label of output (default: cron tasks)\n  -w, --width=     Table width of output (default: 100)\n\nHelp Options:\n  -h, --help       Show this help message\n```\n\n## Examples\nAnalyze crontab for 6 hours (by default) from now, , output html file to default path:\n```shell\n$ crontab -l | cronv\n```\n\nFor 1 day from now, output html file to default path:\n\n```shell\n$ crontab -l | cronv -d 1d\n```\n\nFor 12 hours from 21:00, today:\n\n```shell\n$ crontab -l | cronv --from-time 21:00 -d 12h\n```\n\nFor 30 minuts from now, output html file to path/to/output.html:\n\n```shell\n$ crontab -l | cronv -d 30m -o path/to/output.html\n```\n\nFor 2 hours from 2016/12/24 17:30, output html file to path/to/output2.html:\n\n```shell\n$ crontab -l | cronv --from-date '2016/12/24' --from-time 17:30 -d 2h -o path/to/output2.html\n```\n\nWith original title/label:\n\n```shell\n$ crontab -l | cronv -d 1d -t \"crontab@`hostname`\"  # title/label of html file will be 'crontab@myhost'\n```\n\nWith *width* to spread output table:\n\n```shell\n$ crontab -l | cronv -o path/to/output2.html -w 180 # table width be 180% of the screen width (100% by default)\n\n$ crontab -l | cronv -o path/to/output2.html -w 75 # be 75% of the screen width\n```\n\n\n## Development\n\nUsing **dep**.\n\n```shell\n$ cd /path/to/cronv\n$ dep ensure\n$ crontab -l | go run cronv/main.go\n```\n\n\n## TODO\n\n- Add output format/style other than HTML.\n- Filter entries in output HTML file.\n\n\n## Patch\n\nWelcome!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftakumakanari%2Fcronv","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftakumakanari%2Fcronv","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftakumakanari%2Fcronv/lists"}