{"id":18143286,"url":"https://github.com/kawacoder/osalt","last_synced_at":"2025-04-06T19:28:44.874Z","repository":{"id":205341508,"uuid":"713998362","full_name":"KawaCoder/OSALT","owner":"KawaCoder","description":"OSALT: Open-source Scripting Automation Linux Toolkit is a tool that helps with scheduled scripting automation on Linux systems","archived":false,"fork":false,"pushed_at":"2023-11-10T15:38:54.000Z","size":46,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-13T01:36:30.264Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KawaCoder.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":"2023-11-03T17:29:26.000Z","updated_at":"2024-09-10T14:25:33.000Z","dependencies_parsed_at":"2023-11-10T16:47:39.360Z","dependency_job_id":null,"html_url":"https://github.com/KawaCoder/OSALT","commit_stats":null,"previous_names":["kawacoder/osalt"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KawaCoder%2FOSALT","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KawaCoder%2FOSALT/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KawaCoder%2FOSALT/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KawaCoder%2FOSALT/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KawaCoder","download_url":"https://codeload.github.com/KawaCoder/OSALT/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247538252,"owners_count":20955087,"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":[],"created_at":"2024-11-01T19:06:46.510Z","updated_at":"2025-04-06T19:28:44.847Z","avatar_url":"https://github.com/KawaCoder.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OSALT 🧂 (Under development)\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/100%25-Bash-black.svg?style=for-the-badge\u0026logo=shell\u0026logoColor=white\" /\u003e\u0026nbsp;\u0026nbsp;\n    \u003ca href=\"[https://www.mozilla.org/en-US/MPL/](https://www.gnu.org/licenses/gpl-3.0.html)\"\u003e\n      \u003cimg src=\"https://img.shields.io/badge/License-GPL%203.0-darkgreen.svg?style=for-the-badge\u0026logo=GNU\" /\u003e\n    \u003c/a\u003e\n  \u003c/p\u003e\n\n## Table of content:\n#### [1. Todo list](https://github.com/KawaCoder/OSALT#todo)\n#### [2. Usage](https://github.com/KawaCoder/OSALT#usage)\n#### [3. Contact](https://github.com/KawaCoder/OSALT#contact)\n\nOSALT: Open-source Scripting Automation Linux Toolkit is a tool that helps with scheduled scripting automation on Linux systems\nThe code will be in bash. It is an implementation of systemd.\n## TODO:\n#### Coding features\n- [x] Set up statup script\n  - [x] Add script to config.json\n  - [x] Copy script to config directory and change rights\n  - [x] Create systemd service\n  - [x] Enable service\n- [x] Set up shutdown script\n  - [x] Add script to config.json\n  - [x] Copy script to config directory and change rights\n  - [x] Create systemd service\n- [ ] Set up scheduled script\n  - [x] Add script to config.json\n  - [x] Copy script to config directory and change rights\n  - [ ] Create systemd service\n  - [ ] Create systemd timer\n- [x] List user's scripts\n- [x] Delete scripts\n  - [x] Remove script from folder\n  - [x] Disable systemd service\n  - [x] Delete systemd service\n- [ ] Disable script\n- [ ] Set up triggered script\n\n#### Other\n- [x] See how to set up run at start (systemctl/cron/?)\n- [x] See how to set up run at shutdown\n\n## Usage\n```\nosalt [options] [script_name]\n\nOptions:\n  -s, --startup \u003cscript_name\u003e    Add a startup script.\n  -w, --shutdown \u003cscript_name\u003e   Add a shutdown script.\n  -c, --scheduled \u003cscript_name\u003e  Add a scheduled script.\n  -d, --delete \u003cscript_name\u003e     Delete a script.\n  -l, --list                     List all available scripts.\n  -h, --help                     Prints this help.\n\nExamples:\n  osalt -s my_startup_script.sh\n  osalt -h my_shutdown_script.sh\n  osalt -c my_scheduled_script.sh\n  osalt -v my_startup_script.sh\n  osalt -d my_shutdown_script.sh\n  osalt -l\n```\n### To set up scheduled script, use systemd OnCalendar syntax:\nhttps://wiki.archlinux.org/title/Systemd/Timers\n\n| Explanation                | Systemd timer                      |\n|----------------------------|-----------------------------------|\n| Every Minute               | `*-*-* *:*:00`                   |\n| Every 2 minutes            | `*-*-* *:*/2:00`                 |\n| Every 5 minutes            | `*-*-* *:*/5:00`                 |\n| Every 15 minutes           | `*-*-* *:*/15:00`                |\n| Every quarter hour         | `*-*-* *:*/15:00`                |\n| Every 30 minutes           | `*-*-* *:*/30:00`                |\n| Every half an hour         | `*-*-* *:*/30:00`                |\n| Every 60 minutes           | `*-*-* */1:00:00`                |\n| Every 1 hour               | `*-*-* *:00:00`                  |\n| Every 2 hours              | `*-*-* */2:00:00`                |\n| Every 3 hours              | `*-*-* */3:00:00`                |\n| Every other hour           | `*-*-* */2:00:00`                |\n| Every 6 hours              | `*-*-* */6:00:00`                |\n| Every 12 hours             | `*-*-* */12:00:00`               |\n| Hour Range                 | `*-*-* 9-17:00:00`               |\n| Between certain hours     | `*-*-* 9-17:00:00`               |\n| Every day                  | `*-*-* 00:00:00`                 |\n| Daily                      | `*-*-* 00:00:00`                 |\n| Once A day                 | `*-*-* 00:00:00`                 |\n| Every Night                | `*-*-* 01:00:00`                 |\n| Every Day at 1am          | `*-*-* 01:00:00`                 |\n| Every day at 2am          | `*-*-* 02:00:00`                 |\n| Every morning              | `*-*-* 07:00:00`                 |\n| Every midnight             | `*-*-* 00:00:00`                 |\n| Every day at midnight      | `*-*-* 00:00:00`                 |\n| Every night at midnight    | `*-*-* 00:00:00`                 |\n| Every Sunday               | `Sun *-*-* 00:00:00`             |\n| Every Friday               | `Fri *-*-* 01:00:00`             |\n| Every Friday at midnight  | `Fri *-*-* 00:00:00`             |\n| Every Saturday             | `Sat *-*-* 00:00:00`             |\n| Every weekday              | `Mon...Fri *-*-* 00:00:00`       |\n| Weekdays only              | `Mon...Fri *-*-* 00:00:00`       |\n| Monday to Friday           | `Mon...Fri *-*-* 00:00:00`       |\n| Every weekend              | `Sat,Sun *-*-* 00:00:00`         |\n| Weekends only              | `Sat,Sun *-*-* 00:00:00`         |\n| Every 7 days               | `* *-*-* 00:00:00`                |\n| Every week                | `Sun *-*-* 00:00:00`             |\n| Weekly                     | `Sun *-*-* 00:00:00`             |\n| Once a week                | `Sun *-*-* 00:00:00`             |\n| Every month                | `* *-*-01 00:00:00`               |\n| Monthly                    | `* *-*-01 00:00:00`               |\n| Once a month               | `* *-*-01 00:00:00`               |\n| Every quarter              | `* *-01,04,07,10-01 00:00:00`    |\n| Every 6 months             | `* *-01,07-01 00:00:00`          |\n| Every year                 | `* *-01-01 00:00:00`             |\n\n\n\n## Contact\n\u003ca href=\"mailto:kawacoder@duck.com\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Email%20me-darkred?style=for-the-badge\u0026logo=gmail\u0026logoColor=white\"/\u003e\n\u003c/a\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkawacoder%2Fosalt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkawacoder%2Fosalt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkawacoder%2Fosalt/lists"}