Advertisement
LightProgrammer000

Backup_Usuario

Sep 19th, 2022
1,952
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.35 KB | Cybersecurity | 0 0
  1. #!/bin/bash
  2.  
  3. # Variaveis: Ano-Mes-Dia | Hora-Minuto
  4. LOG=$(date "+%Y%m%d%H%M")
  5. FILE=backup_home_$LOG.tgz
  6. USUARIO="kali"
  7.  
  8. # Funcao: Montando Backup do usuario selecionado na variavel USUARIO
  9. backup()
  10. {
  11.     # Arquivo de backup a ser movido
  12.     tar -cvzf $FILE /home/$USUARIO
  13.     mv $FILE Backup/   
  14.     clear
  15.  
  16.     # Mensagem
  17.     echo "Criando Backup..."
  18.     sleep 3
  19.     echo "O backup de nome \"$FILE\" foi criado em /home/kali/Backup"
  20.     echo ""
  21.     echo "Backup Concluido!"
  22. }
  23.  
  24. # Calculo dos dias para nao chegar a 1 semana
  25. datacao()
  26. {
  27.     # Arquivo de hoje | Arquivo mais recente
  28.     passado=$(ls -l Backup/ | sort -r | grep -v "total" | cut -d " " -f 9 | tr  "_" "." | cut -d "." -f 3 | head -n 1)
  29.     hoje=$(date "+%Y%m%d%H%M")
  30.    
  31.     # Calculando datacao:
  32.     dias=$(expr $hoje - $passado)
  33. }
  34.  
  35. # Estrutura em escolha
  36. escolha()
  37. {
  38.     read -p "Já foi gerado um backup do diretório /home/kali nos últimos 7 dias. Deseja continuar? (N/s): " opc
  39.  
  40.     case $opc in
  41.    
  42.         s|S)
  43.             echo "Criacao de mais um backup para mesma semana"
  44.             backup
  45.             ;;
  46.         n|N)
  47.             echo "Script abortado"
  48.             exit 1
  49.             ;;
  50.         *)
  51.             echo "Opcao Invalida"
  52.             exit 2
  53.             ;;
  54.     esac
  55. }
  56.  
  57. # Estrutura de decisao
  58. clear
  59. if [ -r Backup/ ]
  60. then
  61.     datacao
  62.  
  63.     # Estrutura de decisao: 1 Semana de delay
  64.     if (($dias <= 7000))
  65.     then
  66.         escolha
  67.     else
  68.         backup 
  69.     fi 
  70. else
  71.     mkdir Backup
  72.     echo "# Pasta 'Backup' criada"
  73. fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement