超详细的Linux数据库定时备份及上传至阿里云oss

Linux数据库定时备份及上传至阿里云oss

备份数据库脚本 命名为(xxx.sh)

#当前时间
dd=`date +%Y-%m-%d-%H-%M-%S`
echo "执行sql文件备份!备份时间: $dd"
#执行备份命令 -u 数据库名 -p 数据库密码 -h 主机地址 -P mysql端口 -E后是 要备份的数据库名 > 要备份到的地址  
#.gz 是将备份好的文件压缩
mysqldump -u用户名 -p密码 -h主机号 -P数据库端口号 --single-transaction --default-character-set=utf8 -R -E 要备份的数据库名| gzip>存储路径/数据库名-$dd.sql.gz
#打印备份成功日志
echo "xxx数据库sql文件备份成功!  xxx-$dd.sql 压缩成功!"
echo "压缩后文件存储路径为---->> 存储路径/数据库名-$dd.sql.gz"
echo "执行文件上传至阿里云oss!上传时间为:$dd"
#执行文件上传至阿里云oss操作 /ossutil64 cp 是ossutil64文件上传命令 你要上传的文件  oss://你的桶名backetName 
/ossutil64 cp 存储路径/数据库名-$dd.sql.gz oss://桶名/$dd/
echo "数据库备份文件上传至阿里云oss成功!"
echo "================================================================"

ossutil64 下载

官方文档路径:https://help.aliyun.com/document_detail/120075.html

  • 首先需要下载wget命令:
apt install wget
  • 下载
wget http://gosspublic.alicdn.com/ossutil/1.7.0/ossutil64                           
  • 修改文件权限
chmod 755 ossutil64
  • 使用交互式配置生成配置文件
./ossutil64 config
  • 接着进行配置
endpoint:你的阿里云对象存储 endpoint
accessKeyID:你的阿里云对象存储 accessKeyID
accessKeySecret:你的阿里云对象存储 accessKeySecret
stsToken:------stsToken可以不填,直接enter跳过------

配置完成即可命令测试

/ossutil64 cp 上传的文件路径 oss://桶名

成功日志如下:
Succeed: Total num: 1, size: 6,952,682. OK num: 1(upload 1 files).

average speed 2205000(byte/s)

3.154561(s) elapsed

Linux设置定时任务

首先需要下载 “crontab
apt install crontab
启动
service cron start    //启动服务
查看运行状态
service cron status   //查看运行状态     返回---->>>  [ ok ] cron is running.  ----<<表示正在运行
创建定时任务
crontab –e : 修改 crontab 文件. 如果文件不存在会自动创建。 

i 进入编辑 :wq 保存退出

分 时 日 月 年
* * * * * /需要执行的文件 >>/日志文件保存路径
#每天2点执行一次
0 2 * * * 脚本路径/xxx.sh >>日志保存路径/xxx.txt
查看日志
#             日志文件路径
tail -300f 日志保存路径/xxx.txt

cron命令如下:

service cron start    //启动服务
service cron stop     //关闭服务 
service cron restart  //重启服务
service cron status   //查看运行状态 

crontab –e : 修改 crontab 文件. 如果文件不存在会自动创建。 
crontab –l : 显示 crontab 文件。 
crontab -r : 删除 crontab 文件。
crontab -ir : 删除 crontab 文件前提醒用户。

数据库gz文件恢复

#解压文件并执行数据恢复                  用户名      密码       数据库名
gunzip < 需要恢复的文件路径/xxx.sql.gz | mysql -u用户名 -p密码 数据库名

你可能感兴趣的:(linux脚本,linux,mysql,数据库)