116 lines
4.2 KiB
Plaintext
116 lines
4.2 KiB
Plaintext
|
|
# Connect to IDRAC
|
|
|
|
# Check if power is on
|
|
|
|
# chassis power status | grep fourth element
|
|
# "Chassis Power is off"
|
|
|
|
# if turn on power
|
|
|
|
# Send Power on (ipmitool chassis power on)
|
|
|
|
# else systemPower is on, continue.
|
|
|
|
|
|
# Store current date as PWR_DATE to later compare in while loop
|
|
|
|
# Send ping to HOST every 15 seconds for 10 minutes. It can take some time for the server to start
|
|
|
|
# while PWR_DATE is less than 15 minutes compared to CURRENT_DATE, ping
|
|
# if ping successfull 3 times in a row
|
|
# break
|
|
|
|
# else, exit with error,
|
|
# exit "Host didn't start after 20 minutes. Check the server"
|
|
|
|
|
|
|
|
|
|
# SSH to HOST
|
|
|
|
# check when verification was last ran
|
|
# if not in the last LAST_VERIF_D, run verification
|
|
# Verify datastore backups
|
|
|
|
# else, backups already verified enough, continue
|
|
# continue
|
|
|
|
# check if remote exists
|
|
# proxmox-backup-manager remote list
|
|
# ┌──────┬──────────────┬──────────┬───────────────────────────────────────────┬─────────┐
|
|
# │ name │ host │ userid │ fingerprint │ comment │
|
|
# ╞══════╪══════════════╪══════════╪═══════════════════════════════════════════╪═════════╡
|
|
# │ pbs2 │ pbs2.example │ sync@pam │64:d3:ff:3a:50:38:53:5a:9b:f7:50:...:ab:fe │ │
|
|
# └──────┴──────────────┴──────────┴───────────────────────────────────────────┴─────────┘
|
|
|
|
# for each remote host in REMOTE_PBS
|
|
|
|
# if remote host not in "host" collumn from "remote list" command
|
|
|
|
# exit with "Please first add a remote to PBS"
|
|
|
|
# else
|
|
# print All passed remotes found on PBS
|
|
|
|
|
|
# Get local and remote stores
|
|
|
|
|
|
# Create backup one-shot sync job
|
|
|
|
# for syncJob in jobList
|
|
|
|
# if AUTO_ADD_NAME in comment collumn of syncJob
|
|
# remove sync-job by id
|
|
|
|
# elif
|
|
# Add sync job
|
|
|
|
# else
|
|
# idk
|
|
|
|
# run one-shop sync jobs
|
|
|
|
# for syncJob in jobList
|
|
# if AUTO_ADD_NAME in syncJob.comment
|
|
# run sync-job
|
|
|
|
# if run succesfull
|
|
# continue
|
|
# else
|
|
# print the error message to stderr
|
|
|
|
# elif AUTO_ADD_NAME not in syncJob.comment
|
|
# skipping a manually addad syncJob
|
|
# else
|
|
# either no syncJobs or something broke
|
|
|
|
# store current date as PWR_OFF_DATE
|
|
|
|
# while ongoing syncJobs or ongoing verifyJobs
|
|
# if any remaining syncJobs and verifyJobs and garbageCollect finish
|
|
|
|
# if PWR_OFF_DATE is longer than 3 hours
|
|
# brake in order to send shutdown signal nontheless
|
|
# else
|
|
# sleep for 30 seconds
|
|
|
|
# send power off signal via SSH
|
|
# if chassis power status is on after 5 minutes
|
|
# send additional "chassis power off" via ipmitool
|
|
# else
|
|
# exit 0
|
|
|
|
|
|
|
|
# proxmox-backup-manager sync-job create pbs2-local --remote pbs2 --remote-store local --store local --schedule 'Wed 02:30'
|
|
# proxmox-backup-manager sync-job update pbs2-local --comment 'offsite'
|
|
# proxmox-backup-manager sync-job list
|
|
# ┌────────────┬───────┬────────┬──────────────┬───────────┬─────────┐
|
|
# │ id │ store │ remote │ remote-store │ schedule │ comment │
|
|
# ╞════════════╪═══════╪════════╪══════════════╪═══════════╪═════════╡
|
|
# │ pbs2-local │ local │ pbs2 │ local │ Wed 02:30 │ offsite │
|
|
# └────────────┴───────┴────────┴──────────────┴───────────┴─────────┘
|
|
# proxmox-backup-manager sync-job remove pbs2-local
|