Forum
Manual Publico => Proxmox / Linux => Tópico iniciado por: DanielDuRio online Maio 04, 2023, 10:23 AM
#!/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
sync; echo 3 > /proc/sys/vm/drop_caches
dirbkp=/media/BKPLOCAL/dump/
mkdir $dirbkp
vms=(101 504)
for vm in "${vms[@]}"
do
nice -n20 vzdump $vm --mode snapshot --dumpdir $dirbkp/ --compress zstd
sleep 2
done
find $dirbkp -mtime +3 | xargs -n1 rm
snapshots=(
"SYNC2/vm-101-disk-0@UPLOCAL"
"SYNC2/vm-504-disk-0@UPLOCAL"
"SYNC2/vm-504-disk-1@UPLOCAL"
)
for snapshot in "${snapshots[@]}"; do
save=/media/BKPLOCAL/dump/$(echo $snapshot | awk -F/ '{print $2}' | awk -F@ '{print $1}').zfs.zstd.$(date +\%Y_\%m_\%d_\%H_\%M_\%S).
sleep 1
zfs snap "$snapshot"
sleep 1
zfs send -Rpvc -- "$snapshot" | mbuffer -m 1G | lzop -c | mbuffer -m 2G |split -x --bytes 25G - $save
sleep 1
zfs destroy "$snapshot"
done#!/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
DIRETORIO_MONITORADO="/media/BKPLOCAL/dump"
inotifywait -m -e moved_to -e create -e close_write --format '%w%f' --exclude '\.(tmp|log)$' "$DIRETORIO_MONITORADO" | while read ARQUIVO
do
ARQUIVO_COM_CAMINHO="$ARQUIVO"
NOME=$(echo $ARQUIVO | awk -F "/" '{print $NF}')
Very1=$(stat -c %s "$ARQUIVO_COM_CAMINHO")
sleep 6
echo Tamanho Atual $Very1
if [ $Very1 -eq $(stat -c %s "$ARQUIVO_COM_CAMINHO" ) ]
then
curl -T $ARQUIVO_COM_CAMINHO ftp://ftp.1fichier.com/Sing_$NOME --user duriothecomp2:danieldurio2 --retry 999 --retry-max-time 0 --retry-delay 60&
find $DIRETORIO_MONITORADO -mtime +3 | xargs -n1 rm
fi
done#!/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
SCRIPT="/root/monitor.sh"
# Verifica se o script já está em execução
if pgrep -f "$SCRIPT" > /dev/null
then
# O script já está em execução, não precisamos fazer nada
exit 0
else
# O script não está em execução, vamos iniciá-lo
bash "$SCRIPT" &
exit 0
fi