First version that is cron-based
This commit is contained in:
115
Roadmap
Normal file
115
Roadmap
Normal file
@@ -0,0 +1,115 @@
|
||||
|
||||
# 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
|
||||
Reference in New Issue
Block a user