昊天SEO

LINUX使用SHELL和CRONTAB定时备份数据

为了防止意外情况的发生,数据库损坏,造成难以挽回的损失,数据库的备份非常重要。大型网站都有做主从数据库,进行实时的备份。小应用没办法承担那么大的成本,但是数据库备份也还是需要的,如果通过人为的去备份,效率低,还有可能增加人为发生错误的概率,所以大多数都采用定时备份数据库。

定时备份数据库,大多数是采用脚本编写备份的代码,然后通过定时任务去执行。脚本你可以采用你擅长的编程语言,也可以使用shell。定时任务则用crontab

这边我介绍下使用shell+crontab的方法,实现定时备份数据库。

首先编写Shell脚本,我在目录/home/bak下写脚本,功能:备份数据库,为了节约磁盘空间删除超过30天的备份文件,代码如下:

mysqldump -u test1 -ptest123 testdatabase > /home/bak/sqldata/testdatabase`date +%Y%m%d`.sql
find /home/bak/sqldata/ -mtime +30 -name '*.sql' -exec rm -rf {} \;
rm -rf {} \;

-exec 找到后执行命令
rm -rf {}命令就是删除文件
\;这是格式要求的,没有具体含义。

编写定时任务, 功能:每隔两天的0点1分执行脚本任务,备份数据库

在命令行输入:crontab -e

输入下面代码:1 0 */2 * * sh /home/bak/sqlbak.sh

保存退出:按esc,然后冒号(:),输入字母:wq,按enter键(即vi 的保存退出)

重启crontab服务:service crond restart

centos下默认好像是安装了crond服务了,如果没有则需要自己安装

yum install crontabs

未经允许不得转载:新乡seo|网站优化,网站建设—昊天博客 » LINUX使用SHELL和CRONTAB定时备份数据

网站的维护离不开大家的支持鼓励,捐赠让我更有动力走的更远&& 也可以关注我的微信公众号,发布更多的干货
本文网址:https://www.168seo.cn/shell/1402.html

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址