Copia de seguridad de dos bases de datos CF_DB y CF_TEST_DB
Es muy simple, hay tres pasos:
1: Cree un nuevo directorio en el sistema: / usr / local / BACKUP_SQL
2: agregue el archivo backup_db.sh
El contenido del archivo es el siguiente:
#!/bin/bash
# 一小时备份一次
/usr/local/Mysql/mysql/bin/mysqldump -u root -p'数据库密码' CF_DB > /usr/local/BACKUP_SQL/CF_DB/CF_DB_$(date +%Y%m%d_%H%M%S).sql
/usr/local/Mysql/mysql/bin/mysqldump -u root -p'数据库密码' CF_LOG_DB > /usr/local/BACKUP_SQL/CF_LOG_DB/CF_LOG_DB_$(date +%Y%m%d_%H%M%S).sql
# find /usr/local/BACKUP_SQL/CF_DB -mtime +1 -name "*.sql*" //查找两天前的,所有名字为.sql的文件
# find /usr/local/BACKUP_SQL/CF_DB -name "*.sql*" //查找所有名字为.sql的文件
# 删除两天前的备份文件
# 防止系统故障,备份文件全删完了,文件数量必须大于10个才删除
filenum=`find /usr/local/BACKUP_SQL/CF_DB -name "*.sql*" | wc -l`
if [ $filenum -gt 10 ] ; then
filenum=`find /usr/local/BACKUP_SQL/CF_DB -mtime +1 -name "*.sql*" -exec rm -f {} \;`
fi
filenum2=`find /usr/local/BACKUP_SQL/CF_LOG_DB -name "*.sql*" | wc -l`
if [ $filenum2 -gt 10 ] ; then
filenum2=`find /usr/local/BACKUP_SQL/CF_LOG_DB -mtime +1 -name "*.sql*" -exec rm -f {} \;`
fi
Si no conoce la ubicación de mysqldump, búsquelo globalmente, comando: whereis mysqldump
find / usr / local / BACKUP_SQL / CF_DB -mtime +1 -name "*. **" ———— El comando se analiza de la siguiente manera:
buscar: comando de búsqueda de Linux, el usuario busca archivos con condiciones específicas
/ usr / local / BACKUP_SQL / CF_DB: cualquier directorio que desee limpiar
-mtime : escritura de oraciones estándar
+1 0: buscar archivos hace 10 días, donde los números representan la cantidad de días y +30 significa buscar archivos hace 30 días
"*. *": El tipo de datos que desea buscar, "* .jpg" significa buscar todos los archivos con la extensión jpg, "*" significa buscar todos los archivos, esto se puede usar de manera flexible, por analogía
-exec: escritura fija
rm -rf: eliminar archivos a la fuerza, incluidos los directorios
{} \ ;: escritura fija, un par de llaves + espacio + \
3: Agregue tareas de sincronización de Linux a la máquina de respaldo: ingrese el comando: crontab -e
0 */2 * * * sh /usr/local/BACKUP_SQL/backup_db.sh
Guardar y salir: ESC: wq
Se acabó, ya terminaste
Por ejemplo, es 2019-08-15 17:48, los archivos de respaldo en su sistema serán los siguientes: