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} |
No hay comentarios :
Publicar un comentario