1,
安装crontab
yum install vixie-cron
yum install crontabs
说明:
vixie-cron软件包是cron的主程序;
crontabs软件包是用来安装、卸装、或列举用来驱动 cron 守护进程的表格的程序。
//+++++++++++++++++++++++++++++++++++
cron 是linux的内置服务,但它不自动起来,可以用以下的方法启动、关闭这个服务:
/sbin/service crond start //启动服务
/sbin/service crond stop //关闭服务
/sbin/service crond restart //重启服务
/sbin/service crond reload //重新载入配置
查看crontab服务状态:service crond status
手动启动crontab服务:service crond start
查看crontab服务是否已设置为开机启动,执行命令:ntsysv
加入开机自动启动:
chkconfig --level 35 crond on
2,
赋予脚本执行权限
chmod +x test.sh
添加定时任务
crontab -e
*/5 * * * * /home/test.sh
说明:
运行crontab –e 编写一条定时任务 */5 * * * * /home/test.sh 在每5分钟执行一次test.sh脚本
查看当前所有定时任务
crontab -l
删除当前定时任务
每隔12小时备份一次
1 */12 * * * /usr/local/backup/backupMysql.sh
每天凌晨1点删除一个月之前的备份
1 1 * * * /usr/local/backup/delBackupMysql.sh
备份脚本
USER="root"PASSWORD="数据库密码"DATABASE1="jxt"#DATABASE2=zabbix
BACKUP_DIR="/usr/local/backup/mysql"#备份数据库文件的路径
LOGFILE="/usr/local/backup/mysql/data_backup.log"#备份数据库脚本的日志文件
DATE=`date +%Y%m%d-%H%M -d -3minute` #获取当前系统时间-3分钟
DUMPFILE1="$DATE-jxt.sql"#需要备份的数据库名称
#DUMPFILE2=$DATE-zabbix.sql
ARCHIVE1="$DUMPFILE1.gz"#备份的数据库压缩后的名称
#ARCHIVE2=$DUMPFILE2-tar.gz
#cat /usr/local/backup
#!/bin/bash
#Shell Command For Backup MySQL Database Everyday Automatically By Crontab
#time 2015-5-20
if [ ! -d $BACKUP_DIR ]; #判断备份路径是否存在,若不存在则创建该路径then
mkdir -p "$BACKUP_DIR"
fi
echo -e "\n" >>$LOGFILEecho "------------------------------------" >>$LOGFILEecho "BACKUP DATE:$DATE">>$LOGFILEecho "------------------------------------" >>$LOGFILE
cd $BACKUP_DIR #跳到备份路径下/usr/local/mysql/bin/mysqldump -u$USER -p$PASSWORD $DATABASE1 >$DUMPFILE1 #使用mysqldump备份数据库if [[ $? == 0 ]]; then
tar czvf $ARCHIVE1 $DUMPFILE1 >> $LOGFILE 2>&1#判断是否备份成功,若备份成功,则压缩备份数据库,否则将错误日志写入日志文件中去。echo "$ARCHIVE1 BACKUP SUCCESSFUL!" >>$LOGFILErm -f $DUMPFILE1else
echo “$ARCHIVE1 Backup Fail!” >>$LOGFILEfi#/usr/local/mysql/bin/mysqldump -u$USER -p$PASSWORD $DATABASE2 >$DUMPFILE2
#if [[ $? == 0 ]]; then#tar czvf $ARCHIVE2 $DUMPFILE2 >> $LOGFILE 2>&1#echo "$ARCHIVE2 BACKUP SUCCESSFUL!" >>$LOGFILE
#rm -f $DUMPFILE2
#else#echo “$ARCHIVE2 Backup Fail!” >>$LOGFILE
#fi
删除脚本
BACKUPDIR="/usr/local/backup/mysql/"#定义备份文件路径
KEEPTIME=30#定义需要删除的文件距离当前的天数
DELFILE=`find $BACKUPDIR -type f -mtime +$KEEPTIME -exec ls{} \;` #找到天数大于KEEPTIME天的文件for delfile in${DELFILE} #循环删除满足天数大于七天的文件do
rm -f $delfiledone