1、首先输入指令看看我们服务器的容量情况: df -h
2、/home/ 中的容量最大,所以适合备份数据库,在/home/ 中创建备份的文件夹
mkdir /home/dbback/
3、创建并且编辑文件
vi /home/dbback/文件名.sh
4、在文件中写入如下内容
mysqldump -uroot -p密码 数据库名 > /home/dbback/数据库名_$(date +%Y%m%d_%H%M%S).sql
mysqldump -uroot -p密码 数据库名 | gzip > /home/dbback/数据库名_$(date +%Y%m%d_%H%M%S).sql.gz
一个是备份的数据库文件,一个压缩的数据库文件
5、./文件名.sh 运行一下看看不能成功运行并生成备份文件(注意:文件记得设置为可执行的)
6、检测或安装 crontab
[root@CentOS ~]# yum -y install vixie-cron
[root@CentOS ~]# yum -y install crontabs
如果出现No package vixie-cron available. Error: Nothing to do 就用下面的指令
yum -y install vim-enhanced.x86_64
7、crontab -e 设置定时任务(具体用法查看这里:https://www.cnblogs.com/lgqboke/p/5805809.html)
加入一下字段,意为每周五的下午五点执行文件名.sh的文件
0 17 * * 5 /home/dbback/文件名.sh
8、重启crontab
使用 service crond restart
或者/etc/init.d/crond restart(Centos7下为systemctl restart crond)
service crond start //启动服务
service crond stop //关闭服务
service crond restart //重启服务
service crond reload //重新载入配置
service crond status //查看服务状态
拓展mogodb的备份:
创建.sh文件并在里面编辑,编辑完以后流程就跟上面的一样
#!/bin/sh
DUMP=/usr/local/mongodb/bin/mongodump #mongodump备份文件执行路径
OUT_DIR=/mongod_bak/mongod_bak_now #临时备份目录
TAR_DIR=/mongod_bak/mongod_bak_list #备份存放路径
DATE=date +%Y_%m_%d
#获取当前系统时间
DB_USER=用户名 #数据库账号
DB_PASS=密码 #数据库密码
DB=数据库 #数据库
IP_PORT=127.0.0.1:27017 #数据库的IP
DAYS=7 #要保留的数据的天数
TAR_BAK=“mongod_bak_$DATE.tar.gz” #最终保存的数据库备份文件名
cd $OUT_DIR
rm -rf $OUT_DIR/*
mkdir -p $OUT_DIR/$DATE
$DUMP -h $IP_PORT -d $DB -o $OUT_DIR/$DATE -u=$DB_USER -p=$DB_PASS --authenticationDatabase admin
tar -zcvf $TAR_DIR/$TAR_BAK $OUT_DIR/$DATE
find $TAR_DIR/ -mtime +$DAYS -delete