Linux/Unix Shell Scripting - [TUTORIAL] Copia seguridad en Linux con subida a FTP

 
Vista:
sin imagen de perfil
Val: 11
Ha mantenido su posición en Linux/Unix Shell Scripting (en relación al último mes)
Gráfica de Linux/Unix Shell Scripting

[TUTORIAL] Copia seguridad en Linux con subida a FTP

Publicado por Edgar (7 intervenciones) el 25/07/2021 22:32:44
Buenas noches a todos,

Hoy me entretenido a hacer un pequeño código con el cual creamos un back-up de la carpeta que queramos, en mi caso, me la crea de la carpeta donde tengo todos mis archivos de la web que tengo montada en mi casa... Dicho código, crea un archivo comprimido para posteriormente subirlo a un ftp ubicado como no en mi casa también.

Dicho esto, aquí esta el código con todos sus comentarios:

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
27
28
29
30
31
32
33
34
35
36
37
38
39
#!/bin/bash
# -*- ENCODING: UTF-8 -*-
 
## DATOS PARA EL FTP:
user="usuario"
password="contraseña" #Evitar caracteres especiales ya que puede dar problemas...
 
direccion="dirección ip"
directorio="carpeta del ftp donde queremos ubicar el archivo"
 
 
## NOMBRE ARCHIVO:
nombre="nombre del archivo.tar" #El ".tar" es OBLIGATORIO.
 
 
## DIRECCION DE ARCHIVO A COMPRIMIR:
carpeta="ubicacion del archivo, colocar / delante."
 
 
#---------------------------------------------------------------------------------#
 
## Creamos el archivo comprimido de la carpeta HTML:
DATE=`date +"%d-%m-%Y"`
 
 
## Almacenamos todo en una variable para tener el nuevo nombre del archivo:
nombreArchivo=$DATE$nombre
 
 
## Comprimimos la carpeta:
tar -cvf $nombreArchivo $carpeta
 
 
## Subimos todo a el servidor FTP:
curl -u $user:$password -T $nombreArchivo ftp://$direccion/$directorio/$nombreArchivo
 
 
## Eliminamos el archivo original:
rm $nombreArchivo


Notas:
1. Todos los campos que van despues de comentarios en mayusculas se tienen que cambiar. Con lo cual a partir del "#------#" ya no hay nada más que editar, si lo haces es bajo tu criterio.

2. Por lo que yo he probado, curl no acepta un ftp con ssl o muy complejo, con lo cual, atento... También como he mencionado antes, las contraseñas cuanto más simples mejor, ya que tuve algun problema con ello, eso no quiere decir que no puedas usar algún punto o algún otro carácter, pero prueba antes de fiarte.



Y esto es todo, a continuación indico los pasos que realice para que el archivo fuera ejecutable y dejarlo activo:
-> Archivo ejecutable:
touch script.sh && chmod +x script.sh


->Agregar tarea en crontab:
crontab -e
Debajo de todos los comentarios creamos una tarea para que la ejecute cuando queramos (en mi caso, cada noche):
## Copia seguridad carpeta HTML:
@midnight /var/www/ccss/ccss_html.sh

Y con eso y un bizcocho hasta mañana a las 8. Quiero remarcar que antes de programar el script para cada X tiempo, revises que todo funciona, ya que te puedes llegar a encontrar una desagradable sorpresa....
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder