Open main menu

CDOT Wiki β

Changes

OPS245 Lab 2 dev

56 bytes removed, 16:31, 30 January 2023
INVESTIGATION 4: USING PYTHON TO AUTOMATE MANAGING VIRTUAL MACHINES
&nbsp;&nbsp;exit()<br />
else:<br />
&nbsp;&nbsp;print('Backing up centos1rhel1')<br />&nbsp;&nbsp;os.system('gzip < /var/lib/libvirt/images/centos1rhel1.qcow2 > ~YourRegularUsername/backups/centos1rhel1.qcow2.gz')<br />&nbsp;&nbsp;print('Backing up centos2rhel2')<br />&nbsp;&nbsp;os.system('gzip < /var/lib/libvirt/images/centos2rhel2.qcow2 > ~YourRegularUsername/backups/centos2rhel2.qcow2.gz')<br />&nbsp;&nbsp;print('Backing up centos3rhel3')<br />&nbsp;&nbsp;os.system('gzip < /var/lib/libvirt/images/centos3rhel3.qcow2 > ~YourRegularUsername/backups/centos3rhel3.qcow2.gz')<br />
</code>
&#35;Step A: Find out if user wants to back up all VMs<br />
&#35;Step B-1:use the existing loop to back up all the VMs<br />
&nbsp;&nbsp;print('Backing up centos1rhel1')<br />&nbsp;&nbsp;os.system('gzip < /var/lib/libvirt/images/centos1rhel1.qcow2 > ~YourRegularUsername/backups/centos1rhel1.qcow2.gz')<br />&nbsp;&nbsp;print('Backing up centos2rhel2')<br />&nbsp;&nbsp;os.system('gzip < /var/lib/libvirt/images/centos2rhel2.qcow2 > ~YourRegularUsername/backups/centos2rhel2.qcow2.gz')<br />&nbsp;&nbsp;print('Backing up centos3rhel3')<br />&nbsp;&nbsp;os.system('gzip < /var/lib/libvirt/images/centos3rhel3.qcow2 > ~YourRegularUsername/backups/centos3rhel3.qcow2.gz')<br />
&#35;Step B-2: They don't want to back up all VMs, prompt them for which VM they want to back up<br />
&#35;Step C: Prompt the user for the name of the VM they want to back up<br />
&#35;Step C-1: If the user chose Centos1rhel1, back up that machine.<br />&#35;Step C-2: If the user chose Centos2rhel2, back up that machine.<br />&#35;Step C-3: If the user chose Centos3rhel3, back up that machine.<br />
</code></li>
<li>Before the block that backs up each machine add a prompt to ask the user if they want to back up all machines. Use an if statement to check if they said yes (See comment 'Step A').
<li>Test your script to make sure it works. Check what happens if you say 'yes' to the prompt, and check what happens if you say things other than 'yes'.</li>
<li>Now we have a script that asks the user if they want to back up all VMS, and if they say they do, it does. But if they don't want to back up every VM, it currently does nothing.</li>
<li>Add an else statement at comment Step B-2 to handle the user not wanting to back up every VM. Inside that else clause (Comment step C) ask the user which VM they would like to back up (you can even give them the names of available VMs (Centos1rhel1, Centos2rhel2, Centos3rhel3).</li><li>Now nest an if statement inside that else (Comments C-1, C-2, and C-3) so that your script can handle what your user just responded with. If they asked for Centos1rhel1, back up Centos1rhel1. If they want to back up Centos2rhel2, only back up Centos2rhel2, etc. Hint: You might want to use elif for this.</li>
<li>Test your script again. You should now have a script that:<ul><li>Makes sure the user is running the script with elevated permissions.</li><li>Asks the user if they want to back up every VM.</li><li>If they want to back up every VM, it backs up every VM.</li><li>If the user does not want to back up every VM, the script asks them which VM they do want to back up.</li><li>If the user selected a single VM, the script will back up that one VM.</li>
<li>Now you may notice another issue with the script: The gzip lines are almost identical. The only difference in them is the name of the VM file being backed up. In the portion of code where you back up each machine individually (comment steps C-1, C-2, and C-3) try replacing the machine name in the gzip command with a string variable that holds the machine's name instead. Note that you will have to make us of string concatenation for this to work correctly.</li></ul></li>