Crontab as 6 da tarde
0 18 * * * /root/upload.sh >/dev/null 2>&1
Segue arquivo .SH
*Obs curl -C - -T ( para dar resume )
#!/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
curl -T $(find /media/BKPLOCAL/dump/ -mtime -1|grep 102|grep zst) ftp://ftp.1fichier.com/Puree_$(find /media/BKPLOCAL/dump/ -mtime -1|grep 102|grep zst|awk -F\/ '{print $5}') --user duriothecomp:danieldurio&
curl -T $(find /media/BKPLOCAL/dump/ -mtime -1|grep 103|grep zst) ftp://ftp.1fichier.com/Puree_$(find /media/BKPLOCAL/dump/ -mtime -1|grep 103|grep zst|awk -F\/ '{print $5}') --user duriothecomp:danieldurio&
curl -T $(find /media/BKPLOCAL/dump/ -mtime -1|grep 105|grep zst) ftp://ftp.1fichier.com/Puree_$(find /media/BKPLOCAL/dump/ -mtime -1|grep 105|grep zst|awk -F\/ '{print $5}') --user duriothecomp:danieldurio&
curl -T $(find /media/BKPLOCAL/dump/ -mtime -1|grep 204|grep zst) ftp://ftp.1fichier.com/Puree_$(find /media/BKPLOCAL/dump/ -mtime -1|grep 204|grep zst|awk -F\/ '{print $5}') --user duriothecomp:danieldurio
Combo Upload FTP + SPLIT + MERGE
#!/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
#split split -n 10 vzdump-qemu-204-2022_10_18-10_01_56.vma.zst /media/BKPLOCAL/private/vzdump-qemu-204-2022_10_18-10_01_56.vma.zst.
#cat somefile.?? > 'somefile.ext
curl -T $(find /media/BKPLOCAL/private/ -mtime -1|grep aa) ftp://ftp.1fichier.com/Puree_$(find /media/BKPLOCAL/private/ -mtime -1|grep aa|awk -F\/ '{print $5}') --user duriothecomp:danieldurio&
curl -T $(find /media/BKPLOCAL/private/ -mtime -1|grep ab) ftp://ftp.1fichier.com/Puree_$(find /media/BKPLOCAL/private/ -mtime -1|grep ab|awk -F\/ '{print $5}') --user duriothecomp:danieldurio&
curl -T $(find /media/BKPLOCAL/private/ -mtime -1|grep ac) ftp://ftp.1fichier.com/Puree_$(find /media/BKPLOCAL/private/ -mtime -1|grep ac|awk -F\/ '{print $5}') --user duriothecomp:danieldurio&
curl -T $(find /media/BKPLOCAL/private/ -mtime -1|grep ad) ftp://ftp.1fichier.com/Puree_$(find /media/BKPLOCAL/private/ -mtime -1|grep ad|awk -F\/ '{print $5}') --user duriothecomp:danieldurio&
curl -T $(find /media/BKPLOCAL/private/ -mtime -1|grep ae) ftp://ftp.1fichier.com/Puree_$(find /media/BKPLOCAL/private/ -mtime -1|grep ae|awk -F\/ '{print $5}') --user duriothecomp:danieldurio&
curl -T $(find /media/BKPLOCAL/private/ -mtime -1|grep af) ftp://ftp.1fichier.com/Puree_$(find /media/BKPLOCAL/private/ -mtime -1|grep af|awk -F\/ '{print $5}') --user duriothecomp:danieldurio&
curl -T $(find /media/BKPLOCAL/private/ -mtime -1|grep ag) ftp://ftp.1fichier.com/Puree_$(find /media/BKPLOCAL/private/ -mtime -1|grep ag|awk -F\/ '{print $5}') --user duriothecomp:danieldurio&
curl -T $(find /media/BKPLOCAL/private/ -mtime -1|grep ah) ftp://ftp.1fichier.com/Puree_$(find /media/BKPLOCAL/private/ -mtime -1|grep ah|awk -F\/ '{print $5}') --user duriothecomp:danieldurio&
curl -T $(find /media/BKPLOCAL/private/ -mtime -1|grep ai) ftp://ftp.1fichier.com/Puree_$(find /media/BKPLOCAL/private/ -mtime -1|grep ai|awk -F\/ '{print $5}') --user duriothecomp:danieldurio&
curl -T $(find /media/BKPLOCAL/private/ -mtime -1|grep aj) ftp://ftp.1fichier.com/Puree_$(find /media/BKPLOCAL/private/ -mtime -1|grep aj|awk -F\/ '{print $5}') --user duriothecomp:danieldurio
Arquivo grande / Split
25 18 * * 2,4,6 /root/make_bkp.sh >/dev/null 2>&1
50 23 * * 2,4,6 /root/upload1.sh >/dev/null 2>&1
59 23 * * 2,4,6 /root/upload2.sh >/dev/null 2>&1
#!/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
rm -rf /media/BKPLOCAL/dump/upload/vm-101-disk-1.zfs*
zfs snap SYNC2/vm-101-disk-1@UPLOAD
zfs send -Rpvc -- SYNC2/vm-101-disk-1@UPLOAD | mbuffer -m 1G |split -x --bytes 25G - /media/BKPLOCAL/dump/upload/vm-101-disk-1.zfs.
zfs destroy SYNC2/vm-101-disk-1@UPLOAD
#!/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
for file in /media/BKPLOCAL/dump/upload/*.0*
do
upload="$(echo ${file}|awk -F\/ '{print $6}')"
curl --user duriothecomp:danieldurio -T ${file} ftp://ftp.1fichier.com/BelaLuz_$upload &
sleep 5
done
find /media/BKPLOCAL/dump/ -mtime +14 | xargs -n1 rm
V2
#!/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
for i in 102 103 105 204; do
file=$(find /media/BKPLOCAL/dump/ -mtime -1|grep $i|grep zst)
name=$(echo $file|awk -F/ '{print $5}')
curl -T $file ftp://ftp.1fichier.com/Puree_$name --user duriothecomp:danieldurio&
done
Citação de: DanielDuRio online Out 18, 2022, 10:10 AMCrontab as 6 da tarde
0 18 * * * /root/upload.sh >/dev/null 2>&1
Segue arquivo .SH
*Obs curl -C - -T ( para dar resume )
#!/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
curl -T $(find /media/BKPLOCAL/dump/ -mtime -1|grep 102|grep zst) ftp://ftp.1fichier.com/Puree_$(find /media/BKPLOCAL/dump/ -mtime -1|grep 102|grep zst|awk -F\/ '{print $5}') --user duriothecomp:danieldurio&
curl -T $(find /media/BKPLOCAL/dump/ -mtime -1|grep 103|grep zst) ftp://ftp.1fichier.com/Puree_$(find /media/BKPLOCAL/dump/ -mtime -1|grep 103|grep zst|awk -F\/ '{print $5}') --user duriothecomp:danieldurio&
curl -T $(find /media/BKPLOCAL/dump/ -mtime -1|grep 105|grep zst) ftp://ftp.1fichier.com/Puree_$(find /media/BKPLOCAL/dump/ -mtime -1|grep 105|grep zst|awk -F\/ '{print $5}') --user duriothecomp:danieldurio&
curl -T $(find /media/BKPLOCAL/dump/ -mtime -1|grep 204|grep zst) ftp://ftp.1fichier.com/Puree_$(find /media/BKPLOCAL/dump/ -mtime -1|grep 204|grep zst|awk -F\/ '{print $5}') --user duriothecomp:danieldurio
V3
#!/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
DIRETORIO_MONITORADO="/media/NAS/dump"
inotifywait -m -e moved_to -e create --format '%w%f' --exclude '^\..*' "$DIRETORIO_MONITORADO" | while read ARQUIVO
do
ARQUIVO_COM_CAMINHO="$ARQUIVO"
NOME=$(echo $ARQUIVO | awk -F "/" '{print $NF}')
# Verifica se o arquivo não foi modificado nos últimos 60 segundos
if [ $(stat -c %Y "$ARQUIVO_COM_CAMINHO") -lt $(( $(date +%s) - 60 )) ]
then
curl -T $ARQUIVO_COM_CAMINHO ftp://ftp.1fichier.com/SantaCasaCajuru_$NOME --user duriothecomp2:danieldurio2 --retry 999 --retry-max-time 60&
find $DIRETORIO_MONITORADO -mtime +10 | xargs -n1 rm
fi
done
#!/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
SCRIPT="diretorio.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
#!/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
zfs snap SYNC2/vm-101-disk-0@UPLOAD
zfs send -Rpvc -- SYNC2/vm-101-disk-0@UPLOAD | mbuffer -m 2G |split -x --bytes 25G - /mnt/pve/BKP_TREPLICA/Manual/vm-101-disk-0.zfs.$(date +\%Y_\%m_\%d_\%H_\%M_\%S)_.
zfs destroy SYNC2/vm-101-disk-0@UPLOAD
V4
#!/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
DIRETORIO_MONITORADO="/media/NAS/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/SantaCasaCajuru_$NOME --user duriothecomp2:danieldurio2 --retry 999 --retry-max-time 0 --retry-delay 60&
find $DIRETORIO_MONITORADO -mtime +9 | xargs -n1 rm
fi
done
#!/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
SCRIPT="/root/ftp_mom.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
#!/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
ssh 192.168.0.250 "chmod 777 -R -c /media/BKPLOCAL/"
dirbkp=/mnt/pve/Backup/dump/tmp_zstd
mkdir $dirbkp
for ctid in 100 101 102 103 104
do
nice -n20 vzdump $ctid --mode snapshot --dumpdir "$dirbkp/" --compress zstd
ssh 192.168.0.250 "mv /media/BKPLOCAL/dump/tmp_zstd/* /media/BKPLOCAL/dump/"
done
find $dirbkp -mtime +5 | xargs -n1 rm
snapshots=(
"SYNC2/vm-100-disk-0@UPLOCAL"
"SYNC2/vm-101-disk-0@UPLOCAL"
"SYNC2/vm-102-disk-0@UPLOCAL"
"SYNC2/vm-103-disk-0@UPLOCAL"
"SYNC2/vm-103-disk-1@UPLOCAL"
"SYNC2/vm-104-disk-0@UPLOCAL"
)
for snapshot in "${snapshots[@]}"; do
save=/media/BKPLOCAL/dump/$(echo $snapshot | awk -F/ '{print $2}' | awk -F@ '{print $1}').zfs.lzop.$(date +\%Y_\%m_\%d_\%H_\%M_\%S).
sleep 1
zfs snap "$snapshot"
sleep 1
zfs send -Rpvc -- "$snapshot" | mbuffer -m 1G| ssh 192.168.0.250 "mbuffer -m 5G | lzop -c | mbuffer -m 1G |split -x --bytes 25G - \$(echo $save | cut -f 1)"
sleep 1
zfs destroy "$snapshot"
done
ssh 192.168.0.250 "chmod 777 -R -c /media/BKPLOCAL/"
V5
#!/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
dirbkp=/media/BKPLOCAL/dump/
mkdir $dirbkp
vms=(101 102 103 104 100)
for vm in "${vms[@]}"
do
nice -n20 vzdump $vm --mode snapshot --dumpdir $dirbkp/ --compress zstd
sleep 2
done
find $dirbkp -mtime +14 | xargs -n1 rm
snapshots=(
"SYNC2/vm-101-disk-0@UPLOCAL"
"SYNC2/vm-500-disk-0@UPLOCAL"
)
for snapshot in "${snapshots[@]}"; do
save=/media/BKPLOCAL/dump/$(echo $snapshot | awk -F/ '{print $2}' | awk -F@ '{print $1}').zfs.zstp.$(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