LINUX定时任务与SH脚本(以定时备份mysql数据为例)
一: 使用crontab做定时任务。
本次使用的是用crontab做mysql数据库的定时备份。
1、确认crontab已经安装。(具体安装baidu.com).
yum -y install vixie-cron
yum -y install crontabs
2、创建备份数据脚本文件和备份文件目录。
mkdir mysql_back (脚本及文件的总目录)
cd mysql_back
mkdir mysql_back.sh (在mysql_back目录下创建脚本文件)
mkdir data (在mysql_back目录下创建备份文件目录)
3、编辑脚本文件。
1、vi mysql_back.sh
2、输入一下脚本内容:
#!/bin/sh # File: /home/xhl/mysql_back/mysql_back.sh # Database info DB_NAME="chongqing_db" //数据库名称 DB_USER="root" //用户名 DB_PASS="3g2win" //密码 # Others vars # whereis mysqldump # IS ` but not ' BIN_DIR="/usr/bin" //mysqldump 的路径。即需要执行的命令的路径。 BCK_DIR="/home/xhl/mysql_back/data" //保存文件的路径 DATE=`date +%Y%m%d_%H%M%S` # TODO mkdir -p $BCK_DIR $BIN_DIR/mysqldump --opt -u$DB_USER -p$DB_PASS $DB_NAME |gzip \ > $BCK_DIR/$DB_NAME.dump_$DATE.sql.gz
相应的路径信息根据服务器的环境进行相应的修改。
4、创建crontab定时任务。(crontab的详细使用可参考:http://www.centoscn.com/CentOS/help/2014/1030/4025.html)
1、crontab -e
2、输入:20 11 * * * /home/xhl/mysql_back/mysql_back.sh
#秒 时 日 月 周 |<==============任务的完整命令行
3、保存退出。
5、查看crontab日志:
在 /var/spool/mail/root 下有相关的日志(本次使用的root用户做的测试,若是其他用户名则路径相应的为:/var/spool/mail/用户名)
使用vi即可查看。
6、错误信息分析:
1、日志报执行sh时出错:===》 在脚本文件目录下执行:sudo chmod 777 mysql_back.sh。
2、执行sh脚本:sh 脚本目录 。 (eg: sh /home/xhl/mysql_back/mysql_back.sh).

浙公网安备 33010602011771号