Linux下mysql数据库的定期备份与删除

Linux下mysql数据库的定期备份与删除

技术教程gslnedu2025-02-04 12:35:1611A+A-

今天给大家分享点有技术含量的,这是我的好朋友小庄(女)整理的内容,最为一个有节操的自媒体,当然不能独享这份香艳,谁说技术冷冰冰,有时也很温暖暖。

1、Linux服务器一般是ssh协议,如果本地也是Linux环境,可以直接通过shell连接,命令:

ssh -l root -p 8080 202.***.***.***

其中root为用户名,一般为root,8080为端口,202.***.***.***为服务器ip地址;

接下来会提示你输入密码,输入正确后即可进入服务器;

2、然后需要创建一个数据库备份数据存放的文件夹;

mkdir /mysql/mysqldata_bakeup

/mysql/mysqldata_bakeup为创建的路径,可以自定义;

3、创建并编辑文件在路径 /usr/sbin/bakmysql,命令:

vi /usr/sbin/bakmysql

此时会在/usr/sbin/路径下创建bakmysql文件,并进入bakmysql编辑状态,接着输入;

fn = ` date +%Y%m%d `

tar zcvf /mysql/mysqldata_bakeup/mysql$fn.tar.gz /mysql/data

mysqldump -u root -ppassword /mysql/data/yourdatabase > /mysql/mysqldata_bakeup/mysql$fn.sql

find $fn -name "mysql*.tar.gz" -type f -mtime +7 -exec fm{}; > /dev/null 2>&1

find $fn -name "mysql*.sql" -type f -mtime +7 -exec fm{}; > /dev/null 2>&1

/mysql/mysqldata_bakeup/为备份数据保存路径,msql$fn.tar.gz为备份数据根据日期编号的名称,/mysql/data为服务器数据库的数据路径,yourdatabase为你要备份的数据库名;

注意其中第一句命令不是单引号,而是tab键上面的符号,且date前后需要有空格;

第二句命令有两种方法,第一种直接备份并压缩数据库数据源文件,第二种是利用mysql自带命令mysqldump导出数据库yourdatabase的sql文件;

第三句是删除7天前的备份文件,文件名写法对应第二句。

4、修改文件bakmysql属性,使其可执行;

chmod +x /usr/sbin/bakmysql

5、修改/etc/crontab:

vi /etc/crontab

进入编辑状态,在最下面添加:

01 3 * * * root /usr/sbin/bakmysql

01 3 是每天凌晨3:01执行 bakmysql文件;

6、关于重启有时候并不需要,如果服务器在/etc/rc.d/init.d/路径下有crond服务,可以选择重启crond,命令:

/etc/rc.d/init.d/crond restart

7、最后退出服务器命令:exit

谢谢,谢谢小庄。

点击这里复制本文地址 以上内容由朽木教程网整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

朽木教程网 © All Rights Reserved.  蜀ICP备2024111239号-8