在Linux上备份MySQL数据库和网站
创建备份脚本
创建一个备份脚本,例如backup.sh
,包含数据库和网站备份:
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
| #!/bin/bash
DB_USER="your_db_user" DB_PASSWORD="your_db_password" DB_NAME="your_db_name" BACKUP_DIR="/path/to/backup/directory" DATE=$(date +"%Y%m%d%H%M")
DB_BACKUP_FILE="$BACKUP_DIR/$DB_NAME-$DATE.sql" SITE_BACKUP_FILE="$BACKUP_DIR/website-$DATE.tar.gz" WEBSITE_DIR="/path/to/website/directory"
mysqldump -u $DB_USER -p$DB_PASSWORD $DB_NAME > $DB_BACKUP_FILE
if [ $? -eq 0 ]; then echo "Database backup successful: $DB_BACKUP_FILE" else echo "Database backup failed!" fi
tar -czf $SITE_BACKUP_FILE -C $WEBSITE_DIR .
if [ $? -eq 0 ]; then echo "Website backup successful: $SITE_BACKUP_FILE" else echo "Website backup failed!" fi
|
将your_db_user
、your_db_password
、your_db_name
、/path/to/backup/directory
和/path/to/website/directory
替换为实际的数据库用户名、密码、数据库名、备份目录路径和网站目录路径。
设置脚本执行权限
1
| chmod +x /path/to/backup.sh
|
配置cron任务
使用crontab
编辑器:
在crontab文件中添加如下行,设置每天16:30执行备份:
1
| 30 16 * * * /path/to/backup.sh
|
通过以上步骤,你可以在每天16:30定时备份MySQL数据库和网站文件。