crontab 是linux下的计划任务服务程序。有时我们需要定时做一些备份之类的需要使用到。最简化安装时有时未安装上。我们用yum来完成安装。
1、安装
1
2
| yum -y install vixie-cron
yum -y install crontabs |
2、启动
1
2
3
| service crond restart
Stopping crond: [ OK ]
Starting crond: [ OK ] |
启动成功说明安装完毕。
使用说明,将其保存为backup.sh,并为其添加执行权限
1
| chmod +x /root/backup.sh |
其中ftp账户密码自己配置。
代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
| #!/bin/bash
#为backup.sh添加执行权限chmod +x /root/backup.sh
#添加脚本至crontab(自动启动程序)执行命令crontab -e,添加每天0点10分启动代码
#10 00 * * * /root/backup.sh
#===========配置区开始==============
BACKUP_DATA_TEMP="/home/backup"
DB_USR="数据库用户名"
DB_PWD="数据库密码"
FTP_HOST="FTP主机名"
FTP_USR="FTP用户名"
FTP_PWD="FTP密码"
ZIP_PWD="压缩包密码"
#数据库文件位置
DB_PATH="/home/mysql_data"
#网站数据文件位置
WEB_PATH="/home/ftp/1520"
#其它要备份的文件夹
OTHER_PATH="/home/lum_safe_files"
#按周清理,设为0则按天清理
ROUND_WEEK="1"
#===========配置区结束==============
FTP_FOLDER=$(date +"%Y-%m-%d")
if [ ROUND_WEEK = 1 ];then
OLD_FTP_FOLDER=$(date -d -3week +"%Y-%m-%d")
else
OLD_FTP_FOLDER=$(date -d -3day +"%Y-%m-%d")
fi
#在FTP空间里新建目录
ftp -v -n $FTP_HOST < $BACKUP_DATA_TEMP/$dbname.sql
mysqlhotcopy $dbname -u $DB_USR -p $DB_PWD $BACKUP_DATA_TEMP | logger -t mysqlhotcopy
#压缩数据库
zip -9 -q -r -P $ZIP_PWD $BACKUP_DATA_TEMP/$dbname.mysql.zip $BACKUP_DATA_TEMP/$dbname/
#删除sql文件
rm -rf $BACKUP_DATA_TEMP/$dbname/
#上传到FTP空间
ftp -v -n $FTP_HOST < |