定时进行服务器数据备份

一、写对应数据库的备份脚本
我自己需要备份的是,MongoDB和mysql数据库的。
1、MongoDB

#!/bin/bash

today_date=`date "+%Y%m%d"`
# 创建备份当天日期文件夹
mkdir $today_date
# 导出test库
/opt/mongodb/bin/mongodump -h 127.0.0.1 --port 27017 -u root -p root -d test -o /opt/mongo_back/$today_date/ --authenticationDatabase admin

# 赋权,方便rsync进行拉取
chown -R root /opt/mongo_back

# 删除10天前的文件
find /opt/mongo_back/ -mtime +10 -exec rm -rf {} \;

/opt/mongodb/bin/mongodump 为你自己安装数据库的路径
127.xxxx 本机的话就不用改了
如果不是默认端口得加端口
用户名
密码
库名

2.mysql

#!/bin/bash

today_date=`date "+%Y%m%d"`

# 创建备份当天日期文件夹
mkdir $today_date

mysqldump -uroot -pGYKJ@2020#1+3* inner_tube > /home/dbback/$today_date/DatabaseName_$(date +%Y%m%d_%H%M%S).sql

# 删除10天前的文件
find /home/dbback/ -mtime +10 -exec rm -rf {} \;

这里mysql5.6大概率会报:Warning: Using a password on the command line interface can be insecure,原因是mysql加强了安全检查,得去my.cof里设置下账号密码,然后重启下即可定时进行服务器数据备份_第1张图片

二、备份语句写好后,就需要定时执行脚本文件了,我选择的是linux自带的crontab

1、service crond status 确认定时任务是否开启。如果没有这个的话,就用yun安装下。
2、crontab -e 编辑某个用户的cron服务
比如我的:0 1 * * * root /opt/mongo_back/./mongo_back.sh 设置每天凌晨一点执行一次脚本 注意这里一定要加用户,不然设置不成功,让你检查你的语句。
3、crontab -l 列出某个用户cron服务的详细内容
4、service crond reload //重新载入配置

service crond start //启动服务
service crond stop //关闭服务
service crond restart //重启服务
service crond reload //重新载入配置

crontab -r 删除某个用户的cron服务(慎用)

你可能感兴趣的:(linux)