一:crontab

1.安装crontab(许多系统自带

vixie-cron软件包是cron的主程序; 
crontabs软件包是用来安装、卸装、或列举用来驱动 cron 守护进程的表格的程序。

2.开启crontab服务

用以下的方法启动、关闭这个cron服务: 
service crond start //启动服务 
service crond stop //关闭服务 
service crond restart //重启服务 
service crond reload //重新载入配置

查看crontab服务状态:service crond status 
手动启动crontab服务:service crond start

查看crontab服务是否已设置为开机启动,执行命令:ntsysv 
加入开机自动启动: 
chkconfig –level 35 crond on

也可以用设置开机自动启动crond服务: 
[root@CentOS ~]# chkconfig crond on

查看各个开机级别的crond服务运行情况 
[root@CentOS ~]# chkconfig –list crond 
crond 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭 
可以看到2、3、4、5级别开机会自动启动crond服务 
取消开机自动启动crond服务: 
[root@CentOS ~]# chkconfig crond off

3.设置需要执行的脚本 

新增调度任务可用两种方法: 
1)、在命令行输入: crontab -e 然后添加相应的任务,wq存盘退出。 
2)、直接编辑/etc/crontab 文件,即vi /etc/crontab,添加相应的任务。 
crontab -e配置是针对某个用户的,而编辑/etc/crontab是针对系统的任务 
查看调度任务 
crontab -l //列出当前的所有调度任务 
crontab -l -u jp //列出用户jp的所有调度任务 
删除任务调度工作 
crontab -r //删除所有任务调度工作

二:mysql脚本

#! /bin/bash
#mysql数据库用户和密码
user=123
pass=123
# 需要定时备份的数据表列表
dbNames=(db_project)
# 每次的备份数据以日期创建文件夹存放,同时删除过期备份
# 此处以保留1个月的备份数据为例
DATE=`date -d "now" +%Y%m%d%H`
ODATE=`date -d "-1 month" +%Y%m%d%H`
newdir=/home/data/backup/$DATE
olddir=/home/data/backup/$ODATE
# 删除过期备份数据
if [ -d $olddir ];
then
rm -rf $olddir
fi
# 创建新备份文件夹
mkdir $newdir
# 对备份数据库列表的所有数据库备份
for dbName in ${dbNames[*]}
do
dumpFile=$dbName-$DATE.sql.gz
mysqldump -u$user -p$pass $dbName | gzip > $newdir/$dumpFile
done

使用crontab 指定上面的脚本

crontab -e

0 18 * * * /home/backup

: