加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

商城系统在linux系统中定时备份MySQL数据库并删除七天前的备份文

发布时间:2020-12-13 23:43:09 所属栏目:Linux 来源:网络整理
导读:数据库是商城软件中重要的组成部分,定时任务能周期性地自动执行中的程序必要的业务逻辑,以DSMall开源商城系统每日店铺结算的业务逻辑为例: !/bin/bash ?Name:bakmysql.sh ?This?is?a?ShellScript?For?Auto?DB?Backup?and?Delete?old?Backup 备份地址 back
数据库是商城软件中重要的组成部分,定时任务能周期性地自动执行中的程序必要的业务逻辑,以DSMall开源商城系统每日店铺结算的业务逻辑为例:
!/bin/bash
?Name:bakmysql.sh
?This?is?a?ShellScript?For?Auto?DB?Backup?and?Delete?old?Backup
备份地址
backupdir=/home/mysqlbackup
备份文件后缀时间
time= `?date?+%Y%m %d%H %M%S? <br/>需要备份的数据库名称<br/>db_name=test<br/>mysql?用户名<br/>db_user=root<br/>mysql?密码<br/>db_pass=123456<br/>mysqldump?-u?$db_user?-p$db_pass?$db_name?|?gzip?&gt;?$backupdir/$db_name$time.sql.gz<br/>删除一分钟之前的备份文件<br/>find?$backupdir?-name?$db_name"*.sql.gz"?-type?f?-mmin?+1?-exec?rm?-rf?{}?;?&gt;?/dev/null?2&gt;&1<br/>保存退出<br/>说明:<br/>代码中 time= date +%Y%m%d%H 也可以写为time=”$(date +”%Y%m%d$H”)”<br/>其中符号是TAB键上面的符号,不是ENTER左边的’符号,还有date后要有一个空格。 db_name:数据库名; db_user:数据库用户名; db_pass:用户密码; type f????表示查找普通类型的文件,f表示普通文件。 mtime +7???按照文件的更改时间来查找文件,+7表示文件更改时间距现在7天以前;如果是?-mmin +7表示文件更改时间距现在7分钟以前。 exec rm {}?;???表示执行一段shell命令,exec选项后面跟随着所要执行的命令或脚本,然后是一对儿{},一个空格和一个,最后是一个分号。 /dev/null 2>&1??把标准出错重定向到标准输出,然后扔到/DEV/NULL下面去。通俗的说,就是把所有标准输出和标准出错都扔到垃圾桶里面;其中的&表示让该命令在后台执行。 定时执行 bak_config?文件代码如下 ?every?day?exec /home/bak_sh/bak_day.sh every?week?exec ?0?/home/bak_sh/bak_week.sh every?month?exec ?/home/bak_sh/bak_month.sh 先用查询状态命令查询crond状态,如果处在停止状态则须先启动;如已在启动状态,则无须理会。 操作命令如下: ??/sbin/service crond start?启动 ??/sbin/service crond restart?重启 ??/sbin/service crond stop?停止 ??/sbin/service crond status?查询状态 查看服务是否已经运行用? ps -ax | grep cron 查看调度任务 crontab -l?//列出当前的所有调度任务 crontab -r?? //删除所有任务调度工作 添加调度任务 crontab /home/bak_sh/bak_config

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读