网站首页 > linux / 正文
简介:本文主要介绍通过Linux系统的计划任务Crontab执行数据库脚本进行备份,设计的内容包括数据备份脚本的编写,计划任务的制作等内容。详细内容包括:
SH脚本程序以下面的行开始:#! /bin/sh
符号#!用来告诉系统它后面的参数是用来执行该文件的程序的。在这个例子中我们使用/bin/sh来执行程序。当编写脚本完成时,如果要执行该脚本,还必须使其可执行。
要使编写脚本可执行:# chmod +x filename 这样才能用./filename 来运行。
Crontab执行备份计划:# crontab –e
用crontab -e进入当前用户的工作表编辑,是常见的vim界面。每行是一条命令。crontab的命令构成为 时间+动作,其时间有分、时、日、月、周五种,操作符有:
* 取值范围内的所有数字
/ 每过多少个数字
- 从X到Z
,散列数字
一、登录linux系统
二、查看数据库版本
三、编写数据库备份脚本
#!/bin/bash
days=$(date '+%Y%m%d') #定义日期函数
/usr/bin/mysqldump –u ‘用户名’ –p ‘用户密码’ ‘表空间名称’ > /usr/local/backup/date_$days.sql
cd /usr/local/backup
# tar命令打包并删除原文件
tar -zcvf date_$days.tar.gz date_$days.sql --remove-files
# 保留两个星期的文件
find /usr/local/backup -name "*.tar.gz" -mtime +14 -exec rm {} \;
四、制订备份计划
1、计划任务管理CRON
Linux系统经常使用的是crontab命令是cron table的简写,它是cron的配置文件,也可以叫它作业列表,可以在以下文件夹内找到相关配置文件,一般以root用户登陆并执行# crontab –e所生成的计划任务存放在/var/spool/cron/ 目录下。
/var/spool/cron/ 目录下存放的是每个用户包括root的crontab任务,每个任务以创建者的名字命名;
/etc/crontab 这个文件负责调度各种管理和维护任务;
/etc/cron.d/ 这个目录用来存放任何要执行的crontab文件或脚本;
还可以把脚本放在/etc/cron.hourly、/etc/cron.daily、/etc/cron.weekly、/etc/cron.monthly目录中,让它每小时/天/星期、月执行一次。
2、执行计划任务指令# crontab –e编写备份任务
* * * * * /usr/local/backup.sh
格式说明:第1列为分钟,0~59;第2列为小时,0~23;第3列为日期,1~31;第4列为月份,1~12;第5列为星期,0~7(0和7表示星期天);第6列为要运行的命令(如果有多个命令用 && 隔开)。
3、执行备份脚本进行测试
如果执行过程出现错误提示:mysqldump: Got error: 2002: "Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)"
其处理过程如下:
执行find指令,找到mysql.sock文件,然后创建软连接到/var/lib/mysql/目录中。如下图# ln -s /tmp/mysql.sock '/var/lib/mysql/mysql.sock'
再执行备份脚本# sh backup.sh
4、linux计划任务实例
Tags:linux登录数据库
猜你喜欢
- 2024-11-26 如何允许远程访问MySQL数据库服务器?
- 2024-11-26 Windows服务器远程登录日志查询方法,linux查看登录日志方法
- 2024-11-26 Linux系统会话Session详解
- 2024-11-26 教你如何在Linux下设置每天自动备份Oracle数据库
- 2024-11-26 Linux系统k8s集群部署实践(三)- k8s执行postgresql数据备份
- 2024-11-26 linux自动查询mysql表,每天定时发邮件,一篇完全搞定
- 2024-11-26 测试人员如何在linux服务器中查询mysql日志?
- 2024-11-26 Linux安装mysql数据库
- 2024-11-26 linux终端mysql用户操作只看这篇够了
- 2024-11-26 linux远程root登录服务器报权限不足(permission denied)为啥?