Bienvenido(a) a Alcance Libre 05/02/2023, 07:46
|
![]() |
Índice del foro > Todo acerca de Linux > Programas y Aplicaciones |
![]() ![]() |
![]() |
al-serv |
|
|||||||
![]() ![]() ![]() ![]() ![]() Miembro Activo ![]() Estado: desconectado ![]() Identificado: 03/01/08 Mensajes: 641 Localización:Cataluña |
buenas tardes! tengo un script que no me funciona bien y faltan cosas pero no es lo mio, a ver si alguien me puede ayudar
![]() En el código que mostrare quiero que haga: 1.- Monta un disco USB ( correctamente ) - Ya lo hace bien No hace bien: 2.- Comprueba si se ha montado, sino no continua el script 3.- Tiene que comprobar si el espacio libre es > 75 % 4.- Eliminar los ficheros más antiguos si el espacio libre es < 75 % 5- hacer un loop ( para comprobar si ya queda > 75 % de espacio libre ) Si hace bien 7.- El snapshot de les vm's ya lo hace correctamente -> exporta al USB Disc el fixero y elimina el snapshot 6.- Desmonta el disco USBDesmuntar el disc USB El script es el siguiente, gracias por adelantado: PHP Formatted Code #!/bin/bash # Settings mount /dev/sdg1 /media/USB/ backup_dir="/media/USB" backup_ext=".xva" date=$(date +%Y-%m-%d_%H-%M-%S) # el ficher mes antic find -type f -printf "%T+ %p\0" | sort -z | grep -zom 1 ".*" | cat # eliminar en funció del tamany lliure #(df -h | grep -E $FILESYSTEM | tr -s ' ' | cut -d ' ' -f 5 | tr -d %) if [ $USODISCO -ge 75 ]; # VMs to backup vm_backup_list=() # web vm_backup_list[0]="04a171c2-8bec-2ca3-e3eb-b973dd679b00" # CONTABLE-IV vm_backup_list[1]="d661b416-46ce-56c4-fec7-a1ec101c7b4e" #DB vm_backup_list[2]="d489a678-4050-9ef8-3b2f-1b551fae4121" #FS02 vm_backup_list[3]="a882869d-e87d-75f6-42b0-9f29809cc911" #FW vm_backup_list[4]="59f0fb46-01c4-41c7-077e-99ddeecbc4a7" vm_backup_list_count=${#vm_backup_list[@]} # Get VM list vm_list_string=`xe vm-list is-control-domain=false` IFS=" " vm_list_array=($vm_list_string) vm_list_count=${#vm_list_array[@]} # Create arrays to use vm_uuid_array=() vm_label_array=() vm_log=() # Start Log vm_log[${#vm_log[@]}]="Starting VM Backup: $date" vm_log[${#vm_log[@]}]="-----------------------------" # Get VMs to export vm_log[${#vm_log[@]}]="Parsing VM list" key=0 index=0 for line in ${vm_list_array[@]}; do if [ ${line:0:4} = "uuid" ]; then uuid=`expr "$line" : '.*: \(.*\)$'` label=`expr "${vm_list_array[key+1]}" : '.*: \(.*\)$'` vm_uuid_array[index]=$uuid vm_label_array[index]=$label vm_log[${#vm_log[@]}]="Added VM #$index: $uuid, $label" let "index = $index+1" fi let "key = $key+1" done vm_log[${#vm_log[@]}]="Done parsing VM list" # Backup VMs vm_log[${#vm_log[@]}]="Backup VMs" key=0 for uuid in ${vm_uuid_array[@]}; do # Set VM backup state backup_vm=false # If the backup list is empty if [ $vm_backup_list_count = 0 ]; then # Backup all VMs backup_vm=true # Else check to see if the VM is to be backed up else for backup_uuid in ${vm_backup_list[@]}; do if [ $uuid = $backup_uuid ]; then backup_vm=true break fi done fi # If the VM is being backed up if [ $backup_vm = true ]; then # Log vm_log[${#vm_log[@]}]="VM: $uuid" # Label label=${vm_label_array[key]} # Create snapshot snapshot=`xe vm-snapshot vm=$uuid new-name-label=backup_$date` vm_log[${#vm_log[@]}]="Snapshot: $snapshot" # Set as VM not template snapshot_template=`xe template-param-set is-a-template=false uuid=$snapshot` vm_log[${#vm_log[@]}]="Set as VM" # Export snapshot_export=`xe vm-export vm=$snapshot filename="$backup_dir$label-$date$backup_ext"` vm_log[${#vm_log[@]}]="Export: $snapshot_export" # Delete snapshot snapshot_delete=`xe vm-uninstall uuid=$snapshot force=true` vm_log[${#vm_log[@]}]="Delete Snapshot: $snapshot_delete" # Else the VM isnt being backed up else # Log vm_log[${#vm_log[@]}]="VM: $uuid" vm_log[${#vm_log[@]}]="Ignoring Backup" fi # Increment Key let "key = $key+1" done vm_log[${#vm_log[@]}]="Export Complete" vm_log[${#vm_log[@]}]=" " # Logging #echo ${vm_uuid_array[@]} #echo ${vm_label_array[@]} for log in ${vm_log[@]}; do echo $log done |
|||||||
|
||||||||
Contenido generado en: 0.08 segundos |
![]() ![]() |
Todas las horas son CST. Hora actual 07:46 AM. |
|
|