用shell写一个MySQL备份脚本
时间: 2023-04-07 18:02:48 浏览: 158
可以回答这个问题。以下是一个简单的MySQL备份脚本示例:
```
#!/bin/bash
# MySQL备份脚本
# 设置备份文件名
BACKUPFILE=backup-$(date +%Y-%m-%d).sql
# 设置MySQL登录信息
MYSQLUSER=root
MYSQLPASSWORD=password
# 备份MySQL数据库
mysqldump -u $MYSQLUSER -p$MYSQLPASSWORD --all-databases > $BACKUPFILE
# 压缩备份文件
gzip $BACKUPFILE
```
这个脚本会备份MySQL中的所有数据库,并将备份文件压缩成gzip格式。你可以根据需要修改备份文件名、MySQL登录信息和备份方式。
相关问题
用shell写一个MySQL备份库的脚本并吧数据拆分多个包。
你好,我可以回答这个问题。以下是一个用shell编写的MySQL备份库脚本,并将数据拆分成多个包的示例:
#!/bin/bash
# 定义变量
DB_USER="your_username"
DB_PASS="your_password"
DB_NAME="your_database_name"
BACKUP_DIR="/path/to/backup/directory"
MAX_PACKET_SIZE="100M"
# 创建备份目录
mkdir -p $BACKUP_DIR
# 获取当前日期和时间
DATE=$(date +%Y-%m-%d_%H-%M-%S)
# 备份数据库
mysqldump -u $DB_USER -p$DB_PASS --single-transaction --routines --triggers --databases $DB_NAME | split -b $MAX_PACKET_SIZE - $BACKUP_DIR/$DB_NAME-$DATE.sql.
# 压缩备份文件
gzip $BACKUP_DIR/$DB_NAME-$DATE.sql.*
# 删除7天前的备份文件
find $BACKUP_DIR -type f -name "$DB_NAME-*.sql.gz" -mtime +7 -delete
# 输出备份完成信息
echo "Backup of database $DB_NAME completed at $(date +%Y-%m-%d_%H-%M-%S)"
写一个shell mysql备份脚本
#!/bin/bash# Set default file name
FILE=backup.sql# Get the current date and time
NOW=$(date +"%Y-%m-%d-%H-%M")# Set file name
FILE="${FILE}-${NOW}.sql"# Create a backup
mysqldump --user=USERNAME --password=PASSWORD DATABASE > $FILE
阅读全文