Aquí hay uno para los asistentes de bash-fu. No, en realidad, solo estoy bromeando, probablemente todos sepan esto excepto yo ...Creación de scripts Bash, comprobación de errores, registro
Estoy intentando crear un script de shell de respaldo. La idea es bastante simple: encontrar archivos en una carpeta determinada, anteriores a 7 días, tar/gzip a otro directorio y eliminarlos. El problema es que no estoy seguro de si tendré suficientes permisos para crear un archivo tar/gzip en el directorio de destino. ¿Hay alguna forma (correcta) de verificar si el archivo se ha creado correctamente y, de ser así, eliminar los archivos? De lo contrario, omita esa parte y no destruya los datos de los clientes. Escuché que no les gusta mucho eso.
Esto es lo que tengo hasta ahora:
01: #!/bin/bash
02:
03: ROOTDIR="/data/www"
04:
05: TAR="${ROOTDIR}/log/svg_out_xml/export_out_ack_$(date +%Y-%m-%d).tar"
06: cd ${ROOTDIR}/exchange/export/out_ack/
07: find . -mtime +7 -type f -print0 | xargs -0 tar -cf "${TAR}"
08: gzip ${TAR}
09: find . -mtime +7 -type f -print0 | xargs -0 rm -f
Básicamente, que había necesidad de comprobar si todo ha ido bien en las líneas 7 y 8, y si es así ejecutar 9.
Adicionalmente, I' Me gusta hacer un archivo de registro de estas operaciones, así que sé que todo salió bien (este es un trabajo cron nocturno).
Aquí vienen todos los comentarios, use algo prefabricado es seguro. – Recursion
Hablando de la experiencia, Recursion? :) –
Tu etiqueta dice "bash", pero tu shebang dice "sh". –