{"id":16088669,"url":"https://github.com/iruzo/pxalarm","last_synced_at":"2025-07-17T02:04:09.827Z","repository":{"id":153395657,"uuid":"623656423","full_name":"iruzo/pxalarm","owner":"iruzo","description":" POSIX sh alarm","archived":false,"fork":false,"pushed_at":"2025-05-13T16:32:32.000Z","size":21,"stargazers_count":11,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-07-14T07:02:38.031Z","etag":null,"topics":["command-line","shell"],"latest_commit_sha":null,"homepage":"","language":"Shell","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/iruzo.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-04-04T20:11:40.000Z","updated_at":"2025-07-08T00:04:32.000Z","dependencies_parsed_at":null,"dependency_job_id":"65113378-6709-4e89-9cf3-19464c817f8e","html_url":"https://github.com/iruzo/pxalarm","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/iruzo/pxalarm","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iruzo%2Fpxalarm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iruzo%2Fpxalarm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iruzo%2Fpxalarm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iruzo%2Fpxalarm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iruzo","download_url":"https://codeload.github.com/iruzo/pxalarm/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iruzo%2Fpxalarm/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265559819,"owners_count":23788067,"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":["command-line","shell"],"created_at":"2024-10-09T13:44:06.140Z","updated_at":"2025-07-17T02:04:09.795Z","avatar_url":"https://github.com/iruzo.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# description\n\n`pxalarm` is a simple POSIX sh script that periodically checks a config file and\nexecutes commands at specified times.\n\n# installation\n\n- Alpine\n```sh\napk add pxalarm\n```\n- Others\n```sh\ncurl https://raw.githubusercontent.com/iruzo/pxalarm/main/pxalarm -o pxalarm\n```\n\n# usage\n\n1. Create a config file or configure a custom path for your config file:\n- Default config file paths are `$XDG_CONFIG_HOME/pxalarm/config` and `$HOME/.config/pxalarm/config`.\n- You can set a custom path with `-c` like so:\n```\n./pxalarm -c '/your/new/config/file'\n```\n\n2. Set your alarms in that file with the following format:\n\n```\n[YYYY-mm-DD HH:MM u q] command\n```\n\n3. Launch the program with the following command. It will check the config\nfile every minute. The `-d` command-line argument will cause the program to run\nunattended in the background as a daemon. You can also omit `-d` to run it in\nthe foreground, if you want to see the logs for example.\n\n```sh\n./pxalarm -d\n```\n\n**Note**: The program will continue to run in the background (if the `-d` flag\nwas passed) and check the config file every minute until stopped. You can stop\nit at any time by running `pkill pxalarm`, or by pressing Ctrl-C if it is\nrunning in the foreground.\n\n# config file\n\nTime can be replaced with * to match any time. The following formats are\nsupported:\n```\n# YYYY: 4-digit year\n# mm: 2-digit month\n# DD: 2-digit day\n# HH: 2-digit hour (24-hour format)\n# MM: 2-digit minute\n# u: weekday (1 for Monday, 2 for Tuesday, ..., 7 for Sunday)\n# q: quarter of year (1, 2, 3, 4)\n\n[YYYY-mm-DD HH:MM u q] command            # command will be executed at that specific moment if that day is u and quarter of year is q.\n[*-mm-DD HH:MM u q] command               # command will be executed every year at that specific moment if that day is u and quarter of year is q.\n[YYYY-*-DD HH:MM u q] command             # command will be executed every month of YYYY at that specific moment if that day is u and quarter of year is q.\n[YYYY-mm-* HH:MM u q] command             # command will be executed every day of that month at that specific moment if that day is u and quarter of year is q.\n[YYYY-mm-DD *:MM u q] command             # command will be executed every hour at minute mm of that day if that day is u and quarter of year is q.\n[YYYY-mm-DD HH:* u q] command             # command will be executed every minute of that hour on day u and quarter of year q.\n[YYYY-mm-DD HH:MM * q] command            # command will be executed at that specific moment every day on the quarter q of the year.\n[YYYY-mm-DD HH:MM u *] command            # command will be executed at that specific moment on day u, no matter the quarter of year.\n[*-*-* *:* * *] command                   # command will always be executed every minute.\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Firuzo%2Fpxalarm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Firuzo%2Fpxalarm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Firuzo%2Fpxalarm/lists"}