Use case
My backup script automatically creates daily snapshots of each VM images (for incremental backups). Thus I have a huge amount of snapshots after a while. Unfortunately the VirtualBox-UI does not provide a method of removing/mergin all snapshots at once.
Solution
So I wrote a small script that is doing this job for me (and configured it via cronjob to be run once a week).
The code must be executed as sudo.
# Hello World echo '========================================' echo '= THIS SCRIPT COMES WITH NO WARRANTY =' echo '= Bash version '${BASH_VERSION}' =' echo '= [CTRL] + [Z] to kill process =' echo '========================================' # Exit with message and error code function failure() { echo '' echo 'ERROR:'$1 echo '' exit 1 } # Check whether this script got called as super user. If not, we can not # proceed. if [ "$(whoami)" != "root" ]; then failure 'Aborting: You must be root to execute this script.' fi # Get all users declare -a users tmp_users="$( getent passwd | grep /home/ | cut -d ':' -f 1 )" for u in ${tmp_users}; do tmp_dir="/home/${u}" if [ -d "$tmp_dir" ]; then users+=(${u}) fi done # Do delete/merge all snapshots for ((i=0;i<${#users[@]};i++)); do echo "> Processing user: ${users[i]}" # Get all installed VMs vms=$(su -c "VBoxManage list vms | sed -E 's/^\"(.*)\".*/\1/g'" -s /bin/sh ${users[i]}) # Create new snapshot of each for vm_name in $vms; do echo "> > Processing VM ${vm_name}.." # Loop through each snapshot and delete/merge it snapshots=$(su -c "VBoxManage showvminfo ${vm_name} --machinereadable | grep SnapshotName | cut -d '\"' -f2" -s /bin/sh ${users[i]}) for snapshot_name in $snapshots; do echo "> > > Merging snapshot: ${snapshot_name}.." snapshots=$(su -c "VBoxManage snapshot ${vm_name} delete ${snapshot_name}" -s /bin/sh ${users[i]}) done done done
Conclusion
The script tries to remove all snapshots of all images of all users.
In VirtualBox terms “removing an snapshot” actually means that they get merged into the main virtual file – without any loss of data.
hvac ducts
sanitizer dispenser stand
automatic hand sanitizer dispenser
Sanitizing Tunnel
dampers manufacturers
louvers manufacturers
air duct manufacturers
diffuser manufacturers
Moving to a new state is often tricky as you need to get settled down. No home is complete without television so you better look for the best “cable service near me” so you can spend some high-quality leisure time with new friends and family.
Transactional SMS have increased exponentially in the last few years. Banks, stores, and companies send out notifications and alerts to users or customers or employees on a daily basis. They connect their systems to a texting service using a SMS gateway.
This blog post really grabbed my attention. With that said I am going to subscribe. Therefore I will get more updates on what you have to say. Please keep writing as I want to learn more.