Appearance
自动备份
手动备份很麻烦,很不智能,还容易出错,作为站长是不允许这种事情发生的。于是有了下面的自动备份脚本,该脚本将在每天凌晨3点30分自动对数据库进行备份,然后对备份后的数据文件进行压缩打包,之后删除三天前的历史备份档案,只保留最近三天的备份。你最终看到的就是备份目录内只有最近三天的备份文件压缩包。
backup_date=$(date +"%F") #获取日期
cd /home/ #切换到当前用户家目录,你可以换成你的用户目录
mongodump -h localhost -u admin -p yourpassword -o /home/beifen/dandao #导出数据库备份
tar -zcvf /home/beifen/${backup_date}.tar.gz /home/beifen/dandao --remove-files #将导出的备份压缩打包,并以日期命名压缩包
sleep 10m #等待10分钟
rclone copy /home/beifen onedrive:/dandao #上传到网盘
find /home/beifen/ -mtime +3 | xargs rm -f #检索三天前的备份压缩包,将之删除
echo $(date +"%F %H:%M:%S") Backup successfully ! >> log.backup #写入日志
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
- 将上述脚本保存到
/root/script/
目录下,并命名为backup.sh
- 使用命令
chmod u+x /root/script/backup.sh
为脚本添加可执行权限 - 运行命令
crontab -e
打开crontab
的任务添加界面,加入下面这一行:
30 3 * * * /root/script/backup.sh
1
首次crontab -e
会让你选择编辑器
想重新选
select-editor
1
使用crontab -l
就可以看到刚才添加的定时任务了。
crontab的其他使用方法在此不多做解释,如有其他问题请自行搜索解决。