鉴于上周服务器被Oracle cloud回收,导致数据丢失的情况,赶紧写了一个脚本用来备份数据库

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
#!/usr/bin/bash
set from=""
set smtp=""
set smtp-auth-user=""
set smtp-auth-password=""
set smtp-auth=login

date=$(date +%F)
sender=""
path=~/backup
bak=backup.${date}.sql

if [ ! -d "${path}" ];then
    mkdir ${path}
fi

mysqldump -uroot -p -B blog > "${path}/${bak}"
gzip -f "${path}/${bak}"
echo "${date}"| mail -s "blog-backup-${date}" -r ${sender} -a "${path}/${bak}.gz" [email protected]

功能很简陋,仅仅是把数据库Dump之后,发送到我的邮箱。

然后添加cron任务,每天凌晨3点执行一遍

1
0 3 * * * /home/opc/sendmail.sh

hhh, 功能非常简陋,不过对付目前的数据应该是够了