Realice automáticamente una copia de seguridad de los archivos en un servidor FTP remoto en Linux y elimine las copias de seguridad antes de la fecha especificada

  
        

Aquí, todos los archivos bajo el directorio /backup /oracledata /ts deben respaldarse en /backup /oracledata /tsbak y guardarse como un archivo comprimido de TianShan20140409.tar.gz (20140409 se refiere a la fecha del día en que se realizó la copia de seguridad). Luego, solo mantenga la copia de seguridad durante los últimos 7 días, luego cargue el archivo de copia de seguridad en el espacio /oraclebackup especificado a través del servidor ftp, y solo conserve los datos de los últimos 7 días.

Descripción de la escena

Sistema operativo: Centos

FTP: 192.168.148.121 Usuario: dell Contraseña: 123

Solución: Uso de Linux crontab-Automated Copia de seguridad automática de la implementación de tareas

Pasos de implementación

1. Cree un directorio para guardar archivos de copia de seguridad

[root @ localhost ts] # ​​mkdir -p /backup /oracledata /tsbak

2, cree un archivo de script de copia de seguridad tianshanftp.sh vim /backup/oracledata/tsbak/tianshanftp.sh; ingrese el siguiente contenido

(explicación detallada del código) #! /bin /sh

FTP_IP = 192.168.148.121 #ftp 地址

FTP_USER = dell #ftp nombre de usuario

FTP_PASS = 123 #ftp 密码

FTP_backup = /oraclebackup #ftp en copia de seguridad El directorio del archivo se debe crear en FTP primero

BK_DR = /backup /oracledata /tsbak #backup ruta de almacenamiento de archivos

DB_DR = /backup /oracledata /ts # 有 存在 文件

DAYS = 7 # DAYS = 7 significa eliminar hace 7 días , es decir, solo mantenga los últimos 7 días de copia de seguridad

LINUX_USER = raíz #sistema nombre de usuario

fecha = `fecha +% Y% m% d`

tar zcvf $ BK_DR /TianShan$date.tar.gz $ DB_DR

chown -R $ LINUX_USER: $ LINUX_USER $ BK_DR #Cambie el propietario del archivo de la base de datos de copia de seguridad

encuentre $ BK_DR -name " TianShan * " -type f -mtime + $ DAYS -exec rm {} \\; # Eliminar archivos de copia de seguridad hace 7 días (nota: {} \\; hay espacios entre ellos)

deldate = `date -d -7day + % Y% m% d `#Eliminar copia de seguridad del espacio del servidor ftp hace 7 días

ftp -i -v -n $ FTP_IP" FIN # Abrir servidor ftp. 21 es el puerto ftp "FIN y el último FINAL: se llama el término: el documento actual aquí documenta. Aquí el documento es un bloque de código de propósito especial

[# Utiliza la forma de redirección de E /S para poner una secuencia de comandos Pasado a un programa o comando interactivo, como ftp, cat o ex editor de texto. Esta oración puede comprender todos los comandos desde FIN a conexión ftp en modo sin conversación hasta que se ingrese FIN. Por supuesto, el nombre END puede tomarse de manera casual, no necesariamente END, puede tomar otros nombres. 】

usuario $ FTP_USER $ FTP_PASS #nombre de usuario, contraseña

binario # 设置 二元 传输

cd $ FTP_backup #Entrar en el directorio ftp

lcd $ BK_DR # 列表 Directorio local

mput TianShan $ date.tar.gz TianShan $ date.tar.gz # Cargue los archivos en el directorio

mdelete TianShan $ deldate.tar.gz TianShan $ deldate. Tar.gz # Eliminar el espacio ftp 7 días antes de la copia de seguridad

bye

END

Si no hay ningún problema con la ejecución manual de sh, y colóquelo en el crontab para informar del error, por favor Se borra el comentario anterior, inténtalo en la ejecución. Puede utilizar el código en [] a continuación.

[[#! /bin /sh

FTP_IP = 192.168.148.121

FTP_USER = dell

FTP_PASS = 123

FTP_backup = /oraclebackup

BK_DR = /backup /oracledata /tsbak

DB_DR = /backup /oracledata /ts

DAYS = 7

LINUX_USER = root < Br>

date = `date +% Y% m% d`

tar zcvf $ BK_DR /TianShan $ date.tar.gz $ DB_DR

chown -R $ LINUX_USER: $ LINUX_USER $ BK_DR

encuentra $ BK_DR -name " TianShan * " -type f -mtime + $ DAYS -exec rm {} \\;

deldate = `date -d -7day + % Y% m% d `

ftp -i -v -n $ FTP_IP" END

usuario $ FTP_USER $ FTP_PASS

binary

cd $ FTP_backup

lcd $ BK_DR

mput TianShan $ date.tar.gz

mdelete TianShan $ deldate.tar.gz

bye

FIN】]

3, modifique las propiedades del archivo para que sea ejecutable

chmod + x /backup/oracledata/tsbak/tianshanftp.sh

4, modifique /etc /crontab Vi /etc /crontab Añadir

5 2 * * * root /backup/oracledata/tsbak/tianshanftp.sh ”/backup/oracledata/tsbak/mylog.log 2 > &1 # 2: 5 para realizar una copia de seguridad y mantener el registro correspondiente

5, reinicie crond para que la configuración sea efectiva

service crond restart #Start

Todos los días está en /backup /oracledata /Debajo del directorio tsbak, puede ver un archivo comprimido como TianShan20140409.tar.gz. Al mismo tiempo, hay un archivo comprimido como TianShan20140409.tar.gz en el directorio oraclebackup bajo el servidor FTP.

Si necesita restaurar el archivo. , solo necesita extraer este archivo

Descomprimir: tar -zxvf TianShan20140409.tar.gz?

Copyright © Conocimiento de Windows All Rights Reserved