32-linux任务调度定时备份mysql数据库和文件夹
来源:互联网 发布:域名whois查询 编辑:程序博客网 时间:2024/05/14 12:37
定时调度备份mysql数据库中的数据实现步骤如下:
在SSH Secure中进行操作
1.在usr目录下面新建bakscript文件夹,来保存任务调度命令文件.sh
mkdir bakscript
2.在usr目录下面新建bak文件夹,用来保存sql文件和其他文件
mkdir bak
3.打开bakscript文件夹,新建文件mysqlbak.sh(备份sql文件),imagesbak.sh(备份项目下的图片文件)
touch mysqlbak.sh
touch imagesbak.sh
4.在脚本文件中分别写入一下内容
vi mysqlbak.sh
#DataBase NameDB_NAME="blog"#DataBase UserDB_USER="root"#DataBase PassWordDB_PASS="root"#MySQL mysqldump dirBIN_DIR="/alidata/server/mysql/bin"#backup dirBCK_DIR="/usr/bak"#current datetimeDATE=`date +%Y%m%d_%H%M%S`$BIN_DIR/mysqldump -u $DB_USER -p$DB_PASS $DB_NAME | gzip > $BCK_DIR/$DB_NAME$DATE.sql.gz#delete file before 1 minute -mmin +1#delete fiel before 7 days -mtime +7#out errorlog >>$BCK_DIR/error.log 2>&1find $BCK_DIR -name "*.sql.gz" -type f -mmin +1 -exec rm -rf {} \; > /dev/null 2>&1
:wq退出保存
imagesbak.sh
cp -r /usr/tomcat6/webapps/blog/UploadImgs /usr/bak
:wq退出保存
5.给imagesbak.sh和mysqlbak.sh添加可执行权限
chmod +x mysqlbak.sh
chmod +x imagesbak.sh
6.配置任务调度命令执行的时间
crontab -e
7.按下i,进行插入命令
0 0 * * * /usr/bakscript/mysqlbak.sh >>/tmp/error.log 2>&10 0 * * * /usr/bakscript/imagesbak.sh
8.重新启动cron
service cron restart
---------------------------------------------------------------------以上是执行过程,下面进行解释--------------------------------------------------------------------------------------------------------------
1.mkdir bakscript表示创建一个bakscript名字的文件夹
2.touch mysqlbak.sh新建一个mysqlbak.sh的文件
3.vi mysqlbak.sh使用vim编辑器进行编辑
4.
#要备份的数据库名称blogDB_NAME="blog"#数据库中的用户名DB_USER="root"#数据库中的密码DB_PASS="root"#mysql数据库中mysqldump可执行文件的位置<span style="font-family: Arial, Helvetica, sans-serif;">/alidata/server/mysql/bin/mysqldump</span>BIN_DIR="/alidata/server/mysql/bin"#备份文件夹地址BCK_DIR="/usr/bak"#当前系统的时间,为了使文件名不重复DATE=`date +%Y%m%d_%H%M%S`
$BIN_DIR/mysqldump -u $DB_USER -p$DB_PASS $DB_NAME | gzip > $BCK_DIR/$DB_NAME$DATE.sql.gz
$BIN_DIR表示对上面声明的变量进行引用
mysqldump为mysql备份数据库的命令
-u $DB_USER 为数据库用户名
-p$DB_NAME 为数据库密码,明文密码比如你项目连接使用的是root,这里就写root
$DB_NAME要备份的数据库的名称
| 管道命令将前面
$BIN_DIR/mysqldump -u $DB_USER -p$DB_PASS $DB_NAME
执行的结果交给后面的命令进行处理
gzip > $BCK_DIR/$DB_NAME$DATE.sql.gzgzip表示对文件进行压缩
>表示定向输出到文件,如果文件不存在,就创建文件,如果文件存在,就将其清空
find $BCK_DIR -name "*.sql.gz" -type f -mmin +1 -exec rm -rf {} \; > /dev/null 2>&1find为查找文件
$BCK_DIR表示要在该目录下面查找
-name表示以文件名进行查找
“*.sql.gz”表示查找通配后缀为.sql.gz的文件
-type f 表示查找普通文件类型 f表示普通文件
-mtime +7 按照文件的更改时间来查找文件,+7表示文件更改时间距现在7天以前;如果是 -mmin +7表示文件更改时间距现在7分钟以前。
-exec rm -rf {} \;
表示执行一段shell命令,exec选项后面跟随着所要执行的命令或脚本,然后是一对儿{},一个空格和一个\,最后是一个分号
> /dev/null 2>&1
把标准出错重定向到标准输出,然后扔到/DEV/NULL下面去。通俗的说,就是把所有标准输出和标准出错都扔到垃圾桶里面;其中的&表示让该命令在后台执行。
5.
cp -r /usr/tomcat6/webapps/blog/UploadImgs /usr/bak复制文件夹
6.
0 0 * * * /usr/bakscript/mysqlbak.sh >>/tmp/error.log 2>&10 0 * * * /usr/bakscript/imagesbak.sh
0 0 * * * /usr/bakscript/mysqlbak.sh每天凌晨执行该文件,并将错误信息追加(>>)到error.log文件中
- 32-linux任务调度定时备份mysql数据库和文件夹
- windows和Linux定时任务备份数据库(Mysql)
- linux数据库和文件夹定时备份删除
- Linux定时任务 备份数据库
- linux 定时 备份 数据库 mysql 和oracle
- linux定时任务crontab自动备份mysql数据库
- linux定时备份mysql数据库
- linux定时备份mysql数据库
- linux定时备份mysql数据库
- linux 定时备份mysql数据库
- 计划任务定时备份mysql指定数据库
- Mysql数据库定时任务自动备份
- crontab任务定时备份mysql数据库
- mysql 定时任务调度
- linux定时任务执行test数据库备份
- 定时任务-数据库备份
- 数据库备份定时任务
- Windows定时任务备份文件夹
- CSS 初识
- mac php+apache+mysqladmin 环境配置和安装
- 替换文本
- spring3.1中@ResponseBody返回中文乱码
- httpClient例子详解
- 32-linux任务调度定时备份mysql数据库和文件夹
- Oracle sql 性能优化调整
- 系统调用日志收集程序_x86_64环境3.14版本内核
- JavaScript的this词法
- Ehcache 整合Spring 使用页面、对象缓存
- 设计模式 - 行为型模式 - 迭代器模式
- Java中的内部类和匿名类
- C++先,中,后顺序遍历的非递归实现
- linux网络编程之TCP/IP基础:IP数据报格式和IP地址路由