在Linux环境下,我们可以使用shell脚本来备份数据库。
以下是一个简单的shell脚本示例,用于备份MySQL数据库。
![Linux备份数据库脚本(Linux如何备份数据库) 图片[1]-Linux备份数据库脚本(Linux如何备份数据库)-不念博客](https://www.bunian.cn/wp-content/uploads/2023/04/banner-img.webp)
创建一个名为backup_mysql.sh
的文件,并在文件中粘贴以下内容:
#!/bin/bash# 配置数据库信息DB_USER="your_database_user"DB_PASSWORD="your_database_password"DB_NAME="your_database_name"BACKUP_DIR="/path/to/your/backup/directory"FILE_SUFFIX=$(date +"%Y%m%d%H%M%S")# 创建备份目录,如果不存在的话mkdir -p $BACKUP_DIR# 执行备份操作mysqldump -u$DB_USER -p$DB_PASSWORD $DB_NAME > $BACKUP_DIR/${DB_NAME}_${FILE_SUFFIX}.sql# 压缩备份文件gzip $BACKUP_DIR/${DB_NAME}_${FILE_SUFFIX}.sql# 删除超过7天的旧备份find $BACKUP_DIR -name "*.sql.gz" -type f -mtime +7 -exec rm {} \;echo "MySQL backup for $DB_NAME completed!"#!/bin/bash # 配置数据库信息 DB_USER="your_database_user" DB_PASSWORD="your_database_password" DB_NAME="your_database_name" BACKUP_DIR="/path/to/your/backup/directory" FILE_SUFFIX=$(date +"%Y%m%d%H%M%S") # 创建备份目录,如果不存在的话 mkdir -p $BACKUP_DIR # 执行备份操作 mysqldump -u$DB_USER -p$DB_PASSWORD $DB_NAME > $BACKUP_DIR/${DB_NAME}_${FILE_SUFFIX}.sql # 压缩备份文件 gzip $BACKUP_DIR/${DB_NAME}_${FILE_SUFFIX}.sql # 删除超过7天的旧备份 find $BACKUP_DIR -name "*.sql.gz" -type f -mtime +7 -exec rm {} \; echo "MySQL backup for $DB_NAME completed!"#!/bin/bash # 配置数据库信息 DB_USER="your_database_user" DB_PASSWORD="your_database_password" DB_NAME="your_database_name" BACKUP_DIR="/path/to/your/backup/directory" FILE_SUFFIX=$(date +"%Y%m%d%H%M%S") # 创建备份目录,如果不存在的话 mkdir -p $BACKUP_DIR # 执行备份操作 mysqldump -u$DB_USER -p$DB_PASSWORD $DB_NAME > $BACKUP_DIR/${DB_NAME}_${FILE_SUFFIX}.sql # 压缩备份文件 gzip $BACKUP_DIR/${DB_NAME}_${FILE_SUFFIX}.sql # 删除超过7天的旧备份 find $BACKUP_DIR -name "*.sql.gz" -type f -mtime +7 -exec rm {} \; echo "MySQL backup for $DB_NAME completed!"
用实际的数据库用户、密码、名称和备份目录替换脚本中的占位符。
保存文件并为脚本添加可执行权限:
chmod +x backup_mysql.shchmod +x backup_mysql.shchmod +x backup_mysql.sh
执行脚本进行数据库备份:
./backup_mysql.sh./backup_mysql.sh./backup_mysql.sh
如需定期自动执行备份,您可以将此脚本添加到cron计划任务中。
例如,若要每天凌晨1点执行备份,请将以下内容添加到/etc/crontab
文件中:
0 1 * * * /path/to/your/script/backup_mysql.sh0 1 * * * /path/to/your/script/backup_mysql.sh0 1 * * * /path/to/your/script/backup_mysql.sh
请确保替换为实际的脚本路径。
© 版权声明
本站文章由不念博客原创,未经允许严禁转载!
THE END