Compare commits

...

1 Commits

Author SHA1 Message Date
9b890529d1 Added a Readme with description of envs 2026-08-09 15:00:28 +02:00

View File

@@ -1,2 +1,81 @@
# PBSupper # PBSupper
## Description
This program/container automatically powers on a remote server via 623/UDP to iDRAC, and likely other BMCs, connects to Proxmox Backup Server via SSH, so 22/TCP but this can be customized, creates and runs a sync-job, then shuts down PBS.
## Why?
I wanted to automate waking up my server, running a sync-job and shuting down said server. iDRAC6/7 doesn't have that option so I've built one.
## Configurations
Here is a description of the most necessary and all the other environment variables
### Necessary envs
#### BMC envs
* IDRAC -- IP address of the remote BMC **(Default: None)**
* IDRAC_USR -- Username of the remote BMC. This user needs to have permission to power on/off the server as well as check the power status **(Default: None)**
* IDRAC_PWD -- Password of the IDRAC_USR user **(Default: None)**
#### Remote Server envs
* HOST -- IP address, or FQDN, of Proxmox Backup Server. It needs to listen for SSH connections **(Default: None)**
* HOST_USR -- Username of the user on Proxmox Backup Server **(Default: root)**
* HOST_USR_PWD -- Password for the username specified in **HOST_USR** **(Default: None)**
If you want to use SSH-keys, use the following environment variables and leave **HOST_USR_PWD** empty
* HOST_USR_SSHKEY -- Private ssh-key that will be user to connect to PBS. Leave empty if using username+password **(Default: None)**
* HOST_USR_SSHKEY_PASS -- Passphrase for the ssh-key. Leave empty if key is passwordless **(Default: None)**
#### PBS envs
* LOCAL_DATASTORE -- Name of the datastore on the PBS that is passed in **HOST** variable **(Default: None)**
* REMOTE_DATASTORE -- Name of the datastore that the local datastore will sync to/from **(Default: None)**
* REMOTE_PBS -- IP address, or FQDN, of the remote PBS that the local PBS will sync to/from **(Default: None)**
#### Container-specific envs
* RUN_SCHEDULE -- At what time should the server be woken up. Written in Cron notation **(Default: "45 17 * * 5")**
* RUN_SCHEDULE_TZ -- Timezone in which container is. Set to your local timezone as otherwise the wake-up time might be inaccurate. **(Default: "Europe/Stockholm")**
### Other environment variables
Here are the other environment variables that can be set
* HOST_SSH_PORT -- SSH port at which PBS is listening on **(Default: 22)**
* SYNC_DIR -- Direction of the sync-job. **(Default: push)**
* PBS_RATE_OUT -- Speed at which sync is *sent*. Reffer to [PBS documentation](https://pbs.proxmox.com/docs/managing-remotes.html#bandwidth-limit) **(Default: None)**
* PBS_RATE_IN -- Speed at which sync is *received*. Reffer to [PBS documentation](https://pbs.proxmox.com/docs/managing-remotes.html#bandwidth-limit) **(Default: None)**
* PBS_TASK_LIMIT -- How many tasks should be analyzed. Best to leave it at default **(Default: 50)**
* PBS_MAX_RUNTIME_MIN -- Max time which PBS might run after the sync-job. Usually it is caused by Verification jobs or Garbage collection jobs. If a *aptupdate*, *reader* or other tasks are running, then MAX_RUNTIME might be longer as these tasks are critical. **(Default: 180)**
* PBS_MAX_SHUT_MIN -- Max time which PBS has for a safe shutdown. This variable is used after a *shutdown* command is sent to PBS server. **(Default: 10)**
* AUTO_ADD_NAME -- This is a name that is set as sync-job id. **(Default: "autoBackupScript_one-shot")**
* RUN_ONE_SHOT -- If the script should only be ran once. Do not set/use unless you have specific usecase. **(Default: False)**
 
![Yeeee](https://data.shupogaki.org/assets/1/HPDU4TAbEAAzMCj.gif)