Schedule Proxmox VM Startup and Shutdown with Cron

Опубликовано: 31 Март 2025
на канале: i12bretro
15,910
227

#Proxmox #Scheduling #CRON

Full steps can be found at https://i12bretro.github.io/tutorials...

--------------------------------------------------------------------
What is Cron?
--------------------------------------------------------------------
The cron daemon is a background process that runs particular programs at particular times (for example, every minute, day, week, or month), as specified in a crontab. By default, users may also create crontabs of their own so that processes are run on their behalf. - https://packages.debian.org/stable/cron
 
   01. Log into Proxmox VE either via SSH or the web based shell
   02. Run the following commands in the terminal
         verify the location of qm
         should output /usr/sbin/qm
         which qm
         list the configured vms
         qm list
   03. Note the VMID of the target VM(s)
   04. Determine the startup and shutdown schedule requirements for each target VM
   05. Convert the startup and shutdown schedules to cron format,  https://crontab.guru/ is a great utility to visualize them
   06. Continue with the following commands in the terminal
         edit the cron table file
         crontab -e
         if prompted, select nano from the list of editors
   07. At the bottom of the file, add an entry for the start and stop of each target VM in the following format
         ≪%cron schedule%≫ /usr/sbin/qm ≪%start|shutdown%≫ ≪%VMID%≫
         55 6 * * * /usr/sbin/qm start 100
         5 23 * * * /usr/sbin/qm shutdown 100
   08. Press CTRL+O, Enter, CTRL+X to write the changes and close nano
   09. In the example above, VM 100 will be started at 6:55 AM and shutdown at 11:05 PM everyday
   10. Cron schedules can be extremely flexible with some creativity, some examples:
          https://crontab.guru/#55_6_*_*_1-5
         55 6 * * 1-5 /usr/sbin/qm start 100
          https://crontab.guru/#0_9_*_*_6,0
         0 9 * * 6,0 /usr/sbin/qm start 100
          https://crontab.guru/#0_7_*_*_1,3,5
         0 7 * * 1,3,5 /usr/sbin/qm start 100
   11. Linux Containers (lxc) can be controlled via the pct command
         55 6 * * 1-5 /usr/sbin/pct start 103
         0 9 * * 6,0 /usr/sbin/pct start 103
         0 7 * * 1,3,5 /usr/sbin/pct start 103
 


Connect with me and others ###
★ Discord:   / discord  
★ Reddit:   / i12bretro  
★ Twitter:   / i12bretro