CentOS   发布时间:2022-04-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了CentOS下mysql自动备份数据库 crontab定时任务大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

数据库定时备份: 第一步、创建 /root/mysql_dump/mysql_BACk.sh  mkdir -p /root/mysql_dump/ mkdir -p /storage/wwwroot/data_BACk/ 内容如下: BACkupdir='/storage/wwwroot/data_BACk/' time=`date +%Y%m%d_%H%M%S_%N` mysqldump --

数据库定时备份:
第一步、创建/root/MysqL_dump/MysqL_BACk.sh

@H_150_20@mkdir -p/root/MysqL_dump/

@H_691_31@mkdir -p /storage/wwwroot/data_BACk/

内容如下:


BACkupdir='/storage/wwwroot/data_BACk/'
time=`date+%Y%m%d_%H%M%s_%N`
MysqLdump--opt-uroot-p'123456'dbname|gzip>$BACkupdir/dbname_$time.sql.gz

如果权限不足,给权限(不一定需要):

chmod+x/root/MysqL_dump/MysqL_BACk.sh

第二步、修改定时任务

#crontab-l先查看当前的任务列表
#crontab-e编辑


#添加一行,root用户不需要指定执行的用户名,比如3点01分备份

13***/root/MysqL_dump/MysqL_BACk.sh


#不一定需要重启crontab服务

#servicecrondrestart

cron服务每分钟不仅要读一次/var/spool/cron内的所有文件,还需要读一次/etc/crontab。因此我们配置这个文件也能运用cron服务做一些事情。用crontab配置是针对某个用户的,比如crontab-e,实际上修改配置文件/var/spool/cron/root(推荐),而编辑/etc/crontab是针对系统的任务。

其他问题补充
*1、重启crontab的时候如果提示crond:unrecognizedservice
安装计划任务:

yum-yinstallvixie-cron

*2、现在可以手动测试下我们上面的脚本是否能正常运行

sh/root/MysqL_dump/MysqL_BACk.sh


如果你是在windows平台上编辑好的sh文件,然后ftp上传到linux服务器后,可能会出现下述问题:
NosuchfiLeordirectory
这个其实是换行的问题造成的,win下换行是\r\n,而Linux的换行只是\n,\r在linux下是不显示的,所以一般不容易发现这个问题。
解决方法把我们的这个文件格式从dos修改成unix即可。

vi/root/MysqL_dump/MysqL_BACk.sh
:setff


回车,显示fileformat=dos,重新设置下文件格式:

:setff=unix


保存退出:wq或:x!3、还原数据库方法

#登录
MysqL-uroot-p123456

--热备只是备份数据库内部的表,以及数据
usedbname;
source/usr/local/MysqL_dump/dbname_dump.sql;
exit;

*4、cron服务是linux的内置服务,但它不会开机自动启动。可以用以下命令启动和停止服务:

/sbin/servicecrondstart
/sbin/servicecrondstop
/sbin/servicecrondrestart
/sbin/servicecrondreload


以上1-4行分别为启动、停止、重启服务和重新加载配置。要把cron设为在开机的时候自动启动,在/etc/rc.d/rc.local脚本中加入/sbin/servicecrondstart即可。名称:crontab
使用权限:所有使用者
使用方式:
crontabfile[-uuser]-用指定的文件替代目前的crontab。
crontab-[-uuser]-用标准输入替代目前的crontab.
crontab-l[user]-列出用户目前的crontab.
crontab-e[user]-编辑用户目前的crontab.
crontab-d[user]-删除用户目前的crontab.
crontab-cdir-指定crontab的目录。
crontab文件的格式:MHDmdcmd.

crontab基本格式:
*  *  *  *  *  command
分 时 日 月 周 命令@H_846_17@m:分钟(0-59)。每分钟用*或者*/1表示
H:小时(0-23)。(0表示0点)
D:天(1-31)。@H_846_17@m:月(1-12)。
d:一星期内的天(0~6,0为星期天)。补充一个定时任务脚本:
功能:每1分钟循环执行某个目录下的所有PHP文件

#/home/wwwroot/default/admin/task/1m.shWebsite_url="http://www.xxx.net/admin/task/1m/"Folder_A="/home/wwwroot/default/admin/task/1m"forfile_ain${Folder_A}/*;dotemp_file=`basename$file_a`#echo${Website_url}${temp_filE}#wget-t重试次数-T超时秒数-b后台执行if[${temp_file:0-4}='.PHP'];then wget-b-q-t2-T50${Website_url}${temp_filE}fi#wget-q${Website_url}${temp_filE}done

大佬总结

以上是大佬教程为你收集整理的CentOS下mysql自动备份数据库 crontab定时任务全部内容,希望文章能够帮你解决CentOS下mysql自动备份数据库 crontab定时任务所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。