一、SQL备份脚本
!/bin/bash
备份脚本
备份文件保存路径
BACKUP_DIR="/path/to/your/dir"
MySQL 数据库用户名
DB_USER="username"
MySQL 数据库密码
DB_PASSWORD="password"
需要备份的数据库名称
DB_NAME="username"
获取当前日期
DATE=$(date +"%Y-%m-%d_%H-%M-%S")
备份文件名
BACKUP_FILE="$BACKUP_DIR/${DB_NAME}backup$DATE.sql"
创建备份目录(如果不存在)
mkdir -p $BACKUP_DIR
执行备份命令
mysqldump -u $DB_USER -p$DB_PASSWORD $DB_NAME > $BACKUP_FILE
删除超过30天的备份文件
find $BACKUP_DIR -type f -name "*.sql" -mtime +30 -exec rm {} ;
二、创建crontab
给脚本赋权限
chmod +x /app/databases/backup.sh
创建crontab 定时任务
crontab -e
粘贴到crontab中
0 23 * * * /path/to/your/dir/backup.sh >> /path/to/your/dir/logs/backup.log 2>&1
三、crontab命令总结
-
crontab -l 查看系统有哪些定时任务
-
sudo crontab -l -u username 查看指定用户的定时任务
-
cat /etc/crontab
-
crontab -r 删除当前用户的所有 crontab 任务
-
crontab -i -r 在删除前进行确认
-
systemctl status cron
-
service cron status
-
sudo systemctl restart cron
-
sudo service cron restart
-
crontab -V