定时器执行shell脚本
一 、安装crontab定时器(有些系统自带)
yum -y install vixie-cron
yum -y install crontabs
说明:
vixie-cron 软件包是 cron 的主程序;
crontabs 软件包是用来安装、卸装、或列举用来驱动 cron 守护进程的表格的程序。
二 、配置crontab(系统自带的,可跳过此步)
service crond start //启动服务
service crond stop //关闭服务
service crond restart //重启服务
service crond reload //重新载入配置
service crond status //查看crontab服务状态
chkconfig --level 345 crond on //自启
三、修改/etc/crontab文件
在最后面加上shell脚本路径,配置好启动时间,例子的是每天 5点
下面为两种方式设置任务,选一种就可以
1用vi设置,要加root
0 5 * * * root /home/mysql/backup.sh
2 用crontab -e 设置任务
0 5 * * * /home/mysql/backup.sh -h now
四、编写shell脚本
#!/bin/bash
userName="root"
password="123456"
dataBase="tablename"
DATE=`date '+%Y%m%d'`
BACKUP_DIR="/home/mysql/backup/"
seven_day_ago=`date +%Y%m%d --date '7 days ago'`
echo $seven_day_ago
if [ ! -d $BACKUP_DIR$DATE ] ;
then
mkdir -p $BACKUP_DIR$DATE
fi
mysqldump --user=$userName --password=$password --host="127.0.0.1" $dataBase | gzip > $BACKUP_DIR$DATE/$dataBase$DATE.sql.gz
if [ -d $BACKUP_DIR$seven_day_ago ] ;
then
rm -rf $BACKUP_DIR$seven_day_ago
fi权限记得设置成 700
chmod 700 backup.sh