centos7定时执行脚本编写某时间自动备份mysql数据库到指定文件夹

管理员 发布于 4年前   678

用到的工具:crontab+mysqldump+shell

  1. 查看crontab

[root@iz8vbcrus31oj2axurgpjyz ~]# service crond status
Redirecting to /bin/systemctl status crond.service
● crond.service - Command Scheduler
  Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor preset: enabled)
  Active: active (running) since Wed 2020-05-06 17:20:39 CST; 5min ago
 Process: 12645 ExecReload=/bin/kill -HUP $MAINPID (code=exited, status=0/SUCCESS)
Main PID: 13013 (crond)
  CGroup: /system.slice/crond.service
          └─13013 /usr/sbin/crond -n
May 06 17:20:39 iz8vbcrus31oj2axurgpjyz systemd[1]: Started Command Scheduler.
May 06 17:20:39 iz8vbcrus31oj2axurgpjyz systemd[1]: Starting Command Scheduler...
May 06 17:20:39 iz8vbcrus31oj2axurgpjyz crond[13013]: (CRON) INFO (Syslog will be used instead of sendmail.)
May 06 17:20:39 iz8vbcrus31oj2axurgpjyz crond[13013]: (CRON) INFO (RANDOM_DELAY will be scaled with factor 74% if used.)
May 06 17:20:39 iz8vbcrus31oj2axurgpjyz crond[13013]: (CRON) INFO (running with inotify support)
May 06 17:20:39 iz8vbcrus31oj2axurgpjyz crond[13013]: (CRON) INFO (@reboot jobs will be run at computer's startup.)

2.编写脚本shell,(改一下权限可执行x,我这里已经改好了)blogbak.sh

[root@iz8vbcrus31oj2axurgpjyz ~]# cd /opt/
[root@iz8vbcrus31oj2axurgpjyz opt]# ll
total 8
-rwxrwxrwx 1 root root  287 May  6 17:20 blogbak.sh
drwxrwxrwx 2 root root 4096 May  6 17:22 mysqlbak
[root@iz8vbcrus31oj2axurgpjyz opt]# cat blogbak.sh
#!/bin/sh

user="xxxx"
passwd="xxxx"
date=`date +%F`
#测试创建文件
echo "1111" > /opt/mysqlbak/test$date.txt
#备份表
/usr/local/mysql/bin/mysqldump -u$user -p$passwd blog > /opt/mysqlbak/blogbak$date.sql
#删除旧表30天前的
#find /opt/mysqlbak -mtime +30 -name "*.*" -exec rm -Rf {} \;

3.创建备份存人的文件夹/opt/mysqlbak   (这里我已经创建好了)

4.添加执行定时计划任务

[root@iz8vbcrus31oj2axurgpjyz opt]# crontab -e
#两分种跑一次shell
*/2 * * * * /opt/blogbak.sh
~                                                                                                                                                                                                                                                                                                                                                                                              

5.看看列表 (下面那个错误是密码引起的,忽略它你也可以自行百度找解决办法)

[root@iz8vbcrus31oj2axurgpjyz opt]# crontab -l
*/2 * * * * /opt/blogbak.sh

[root@iz8vbcrus31oj2axurgpjyz opt]#  tail /var/log/cron
May  6 17:34:01 iz8vbcrus31oj2axurgpjyz CROND[13083]: (root) CMDOUT (mysqldump: [Warning] Using a password on the command line interface can be insecure.)
May  6 17:34:23 iz8vbcrus31oj2axurgpjyz crontab[13088]: (root) BEGIN EDIT (root)
May  6 17:36:01 iz8vbcrus31oj2axurgpjyz CROND[13091]: (root) CMD (/opt/blogbak.sh)

6.重启crontab

service crond restart

7.效果

[root@iz8vbcrus31oj2axurgpjyz opt]# cd /opt/mysqlbak/
[root@iz8vbcrus31oj2axurgpjyz mysqlbak]# ll
total 828
-rw-r--r-- 1 root root 842490 May  6 17:40 blogbak2020-05-06.sql
-rw-r--r-- 1 root root      5 May  6 17:40 test2020-05-06.txt
[root@iz8vbcrus31oj2axurgpjyz mysqlbak]#


请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!

该博客于2020-12-7日,后端基于go语言的beego框架开发
前端页面使用Bootstrap可视化布局系统自动生成

是我仿的原来我的TP5框架写的博客,比较粗糙,底下是入口
侯体宗的博客

      订阅博客周刊

文章标签

友情链接

HouTiZong
侯体宗的博客
© 2020 zongscan.com
版权所有ICP证 : 粤ICP备20027696号
PHP交流群
侯体宗的博客