Mostrando entradas con la etiqueta tar. Mostrar todas las entradas
Mostrando entradas con la etiqueta tar. Mostrar todas las entradas

miércoles, 19 de mayo de 2021

Ubuntu copiar proyectos java

 Veamos como hacer una copia de seguridad de un proyecto gradle (o mejor dicho de todo e directorio del WORKSPACE donde se guardan los proyecots )de varias maneras:


1. Mediante find combinado con cp

Aquí buscamos todos los ficheros que sean:
  • gradle.properties
  • *.java
  • *.gradle
y tambien incluimos todo el contenido recursivo de las carpetas cuyos nombres sean
  • src
  • mylibs
  • frontend
Para ello previamente nos sitamos en la carpeta donde estan los proyectos a copiar y ejecutamos

find . \( -type f \( -iname gradle.properties -o -iname \*.java -o -iname *.gradle \)  -o -type d \( -iname src -o -iname mylibs -o -iname frontend \) \) -exec cp -r -a --parents {}  /home/eduard/copia-seguretat/ \;


2. Mediatne un tar


OJO: 
  • La sentencia tar es en una sola línea!!!!
  • Solo nos interasan las fuentes, descartamos lo demas

cd /WORKSPACES  # Cambiamos a la carpeta donde estan todos los proyectos

tar -cJvf /home/ximo/copia-seguretat/copia.tar 
   --exclude='*/target' 
   --exclude='*/.*' 
   --exclude='*/node_modules' 
   --exclude='*/gradle' 
   --exclude='*/bin'  
   --exclude='*/mytarget' 
   --exclude '*/gradlew*' 
   --exclude '*/libs' 
   --exclude '*/Servers' 
   --exclude '*/build' 
   --exclude '*/LICENSE' 
   --exclude '*/package.json' 
   --exclude '*/tsconfig.json' 
   --exclude '*/pnpm*.*' 
   --exclude '*/types.d.ts' 
   --exclude '*/webpack*.*' 
   WS_GRDL_VAADIN.02   

Creemos un script que lo recoja todo

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#!/bin/bash

#--Parameters
parent_folder='/home/ximo/WORKSPACES/'
workspace_folder='WS_GRDL_VAADIN.02'
tar_folder='/home/ximo/BACKUPS/'

echo '--------------------------------------------------------------'
echo 'Project: ' $parent_folder $workspace_folder
echo '--------------------------------------------------------------'
echo Por favor, verificar que se guarda el WORKSPACE correcto. Intro continua..
read continuar

#--Calculations
project_file=${parent_folder}${workspace_folder}
my_time=`date +"%Y%m%d_%H%M"`
tar_file=${tar_folder}${workspace_folder}"_"${my_time}".tar"


echo $tar_file
echo $project_file

#--Execution
cd ${parent_folder}

tar -cJvf ${tar_file} --exclude='*/target' --exclude='*/.*' --exclude='*/node_modules' --exclude='*/gradle' --exclude='*/bin'  --exclude='*/mytarget' --exclude '*/gradlew*' --exclude '*/libs' --exclude '*/Servers' --exclude '*/build' --exclude '*/LICENSE' --exclude '*/package.json' --exclude '*/tsconfig.json' --exclude '*/pnpm*.*' --exclude '*/types.d.ts' --exclude '*/webpack*.*' ${workspace_folder}