Auto - Upload FTP BKP

Iniciado por DanielDuRio, Out 18, 2022, 10:10 AM

tópico anterior - próximo tópico
Out 18, 2022, 10:10 AM Última edição: Out 19, 2022, 01:32 PM por DanielDuRio
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

Out 18, 2022, 12:51 PM #1 Última edição: Out 18, 2022, 12:58 PM por 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


Novembro 28, 2022, 01:44 PM #2 Última edição: Dez 01, 2022, 01:59 PM por 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


Fev 09, 2023, 03:18 PM #6 Última edição: Março 01, 2023, 07:14 AM por 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


Fev 13, 2023, 01:46 PM #7 Última edição: Abr 13, 2023, 09:03 AM por DanielDuRio
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/"


Fev 16, 2023, 01:04 PM #8 Última edição: Março 07, 2023, 11:07 AM por DanielDuRio
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