{"id":25733762,"url":"https://github.com/shinthan001/cronmanager","last_synced_at":"2025-08-25T23:17:33.856Z","repository":{"id":279013902,"uuid":"936978789","full_name":"shinthan001/CronManager","owner":"shinthan001","description":"This is a simple web app to turn on/off cron job running in Linux server. This app allows non-techincal users to edit cron job easily without crontab knowledge.","archived":false,"fork":false,"pushed_at":"2025-02-23T07:00:46.000Z","size":389,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-23T07:28:55.689Z","etag":null,"topics":["cronjob","fastapi","jinja-template","python3"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shinthan001.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2025-02-22T03:45:53.000Z","updated_at":"2025-02-23T07:00:49.000Z","dependencies_parsed_at":"2025-02-23T15:01:31.980Z","dependency_job_id":null,"html_url":"https://github.com/shinthan001/CronManager","commit_stats":null,"previous_names":["shinthan001/cronmanager"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shinthan001%2FCronManager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shinthan001%2FCronManager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shinthan001%2FCronManager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shinthan001%2FCronManager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shinthan001","download_url":"https://codeload.github.com/shinthan001/CronManager/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240790292,"owners_count":19858010,"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":["cronjob","fastapi","jinja-template","python3"],"created_at":"2025-02-26T04:22:40.282Z","updated_at":"2025-08-25T23:17:33.851Z","avatar_url":"https://github.com/shinthan001.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Cron Manager\r\nThis is a simple web app to turn on/off cron job running in Linux server. This app allows non-techincal users to edit cron job easily without crontab knowledge.\r\n\r\n## Table of Contents\r\n- [Project Setup](#project-setup)\r\n- [Usage](#usage)\r\n- [Kill Server](#kill-server)\r\n- [Project Structure](#project-structure)\r\n\r\n\r\n\r\n## Project Setup\r\n1. Prerequisites: python3.6, pip21.3.1\r\n\r\n2. Create virtual env.\r\n\r\n    ```\r\n    python -m venv venv_linux\r\n    ```\r\n\r\n3. Activate virtual env.\r\n    \r\n    ```\r\n    source venv_linux/bin/activate.csh\r\n    ```\r\n\r\n4. Install requirements.txt.\r\n\r\n    ```\r\n    pip install requirements.txt\r\n    ```\r\n\r\n5. Setup desired username and password in `./env/env`.\r\n\r\n    ```\r\n    CRONMGR_USER=\u003cyour_username\u003e\r\n    CRONMGR_PASS=\u003cyour_pwd\u003e\r\n    ```\r\n\r\n6. Generate desired secrete key\r\n    ```\r\n    openssl rand -hex 32\r\n    ```\r\n    and save in `./env/env`.\r\n    ```\r\n    SECRET_KEY=\u003cyour_key\u003e\r\n    ```\r\n\r\n7. Setup your desired location to save cronfile in `./env/env`.\r\n    ```\r\n    CRON_FILE=\u003cyour_file\u003e\r\n    ```\r\n\r\n8. Run shell script to launch server.\r\n\r\n    ```\r\n    ./cronmgr.sh\r\n    ```\r\n\r\n## Usage\r\n- Open `url http://\u003cyour_server\u003e:9090` in your browser.\r\n\r\n- Toggle buttons to turn on and off specific cronjob.\r\n\r\n- Ensure to click save button at the end of web page to make changes. Otherwise, all changes will be lost.\r\n\r\n- Since cronjobs are simply saved in flat file, multiple users editing at the same time might cause problem.\r\n\r\n- Importantly, your cronjob must be saved in the following format to be rendered in webapp.\r\n  ```\r\n  */3 * * * * \u003cyour script or cmd\u003e # \u003cyour script name to be appeared in web\u003e \r\n  ```\r\n\r\n    \u003cbr\u003e\r\n    \u003cimg src='./img/UI.PNG' width='70%'\u003e\r\n\r\n## Kill Server\r\n- Server process id is stored in `server.pid` once server is launched. Simply kill it.\r\n\r\n    ```kill \u003cprocess_id\u003e```\r\n\r\n\r\n## Project Structure\r\n- This is simple architecture of this project. FastAPI server hosts endpoints on Linux server and user makes changes to cronfile via web app.\r\n    \u003cbr\u003e\r\n    \u003cimg src='./img/architecture.png' width='70%'\u003e\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshinthan001%2Fcronmanager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshinthan001%2Fcronmanager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshinthan001%2Fcronmanager/lists"}