mirror of
https://github.com/tanrax/bash-folders.git
synced 2025-10-10 18:25:50 +02:00
Add battery script
This commit is contained in:
121
README.md
121
README.md
@@ -3,6 +3,7 @@
|
||||
Collection of Bash scripts to execute functionalities in folders, such as optimizing videos, unzipping files, converting images, etc.
|
||||
|
||||
- [Video optimizer](#video-optimizer)
|
||||
- [Battery hook](#battery-hook)
|
||||
- [Decompress files](#decompress-files)
|
||||
|
||||
---
|
||||
@@ -102,6 +103,126 @@ Add to document.
|
||||
|
||||
---
|
||||
|
||||
## Battery hook
|
||||
|
||||
Folder with scripts to be launched in different battery states.
|
||||
|
||||
The filename of the scripts must be:
|
||||
|
||||
- `discharging`: When the battery is in use.
|
||||
- `charging`: When the battery is charging.
|
||||
- `low`: When it reaches the low percentage. Default 15.
|
||||
- `high`: When it reaches the high percentage. Default 85.
|
||||
- `full`: When the battery is full.
|
||||
|
||||
They must have **execution permissions**. If any of them do not exist, they will be ignored.
|
||||
|
||||
### Install
|
||||
|
||||
|
||||
``` sh
|
||||
curl -o bash-folders-battery-hook https://raw.githubusercontent.com/tanrax/bash-folders/main/bash-folders-battery-hook.sh && chmod +x bash-folders-battery-hook && sudo mv bash-folders-battery-hook /usr/local/bin && echo "🎉 Successfully installed! 🎉"
|
||||
```
|
||||
|
||||
Test
|
||||
|
||||
``` sh
|
||||
bash-folders-battery-hook --help
|
||||
```
|
||||
|
||||
### Run
|
||||
|
||||
``` sh
|
||||
bash-folders-battery-hook --folder [folder path]
|
||||
```
|
||||
|
||||
Example.
|
||||
|
||||
``` sh
|
||||
mkdir battery-scripts
|
||||
|
||||
touch battery-scripts/discharging
|
||||
chmod +x battery-scripts/discharging
|
||||
touch battery-scripts/charging
|
||||
chmod +x battery-scripts/charging
|
||||
touch battery-scripts/low
|
||||
chmod +x battery-scripts/low
|
||||
touch battery-scripts/high
|
||||
chmod +x battery-scripts/high
|
||||
touch battery-scripts/full
|
||||
chmod +x battery-scripts/full
|
||||
|
||||
bash-folders-battery-hook --folder battery-scripts
|
||||
```
|
||||
|
||||
### Start at operating system startup
|
||||
|
||||
#### Option 1: Service
|
||||
|
||||
Create a file in `/etc/systemd/system/bash-folders-battery-hook.service` with the following content.
|
||||
|
||||
|
||||
```ini
|
||||
[Unit]
|
||||
Description=Folder with scripts to be launched in different battery states.
|
||||
|
||||
[Service]
|
||||
Restart=always
|
||||
RestartSec=5
|
||||
User=[user]
|
||||
ExecStart=bash-folders-battery-hook --folder [folder path]
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
```
|
||||
|
||||
Edit it to your needs.
|
||||
|
||||
Now you will need the script to run every so often to check the battery status. The best solution is to create a `timer`.
|
||||
|
||||
Create a file in `/etc/systemd/system/bash-folders-battery-hook.timer` with the following content.
|
||||
|
||||
```ini
|
||||
[Unit]
|
||||
Description=Folder with scripts to be launched in different battery states every minute.
|
||||
|
||||
[Timer]
|
||||
OnCalendar=*-*-* *:*:00
|
||||
Persistent=true
|
||||
|
||||
[Install]
|
||||
WantedBy=timers.target
|
||||
```
|
||||
|
||||
Recharge services.
|
||||
|
||||
``` sh
|
||||
sudo systemctl daemon-reload
|
||||
```
|
||||
|
||||
And activate it.
|
||||
|
||||
``` sh
|
||||
sudo systemctl enable bash-folders-battery-hook.timer
|
||||
sudo systemctl start bash-folders-battery-hook.timer
|
||||
```
|
||||
|
||||
#### Option 2: Cron
|
||||
|
||||
Open.
|
||||
|
||||
``` sh
|
||||
crontab -e
|
||||
```
|
||||
|
||||
Add to document.
|
||||
|
||||
``` sh
|
||||
@reboot * * * * * bash-folders-battery-hook --folder [folder path]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Development
|
||||
|
||||
### Check syntax
|
||||
|
Reference in New Issue
Block a user