- A+
所属分类:自动化运维开发
一、任务描述:
写一个自动化脚本,每天2点将school数据库的score表备份并上传到FTP服务器backup目录。
二、程序代码
- #!/bin/bash
- #auto_backup.sh
- db_user="dbuser"
- db_password="123456"
- db_host="192.168.100.109"
- ftp_user="ftpuser"
- ftp_password="111111"
- ftp_host="192.168.100.103"
- dst_dir="/home/ftpuser/backup"
- time_date="`date +%Y%m%d%H%M%S`"
- file_name="school_score_${time_date}.sql"
- function auto_ftp
- {
- ftp -niv << EOF
- open $ftp_host
- user $ftp_user $ftp_password
- cd $dst_dir
- put $1
- bye
- EOF
- }
- mysqldump -u"$db_user" -p"$db_password" -h"$db_host" school score > ./$file_name && auto_ftp ./$file_name
三、建立定时任务
- [root@192 ~]# crontab -e
- no crontab for root - using an empty one
- crontab: installing new crontab
- [root@192 ~]# crontab -l
- */2 * * * * /usr/sbin/ntpdate 58.220.207.226 &> /dev/null
- 00 02 * * * sh auto_backup.sh &> /dev/null
四、测试效果
这里为了测试方便,将时间调整为每分钟做一次备份
- */1 * * * * sh auto_backup.sh &> /dev/null
- [root@192 backup]# ll
- 总用量 8
- -rw-r--r--. 1 ftpuser ftpuser 1982 4月 4 16:29 school_score_20200404162932.sql
- -rw-r--r--. 1 ftpuser ftpuser 1982 4月 4 20:30 school_score_20200404203001.sql
- [root@192 backup]# ll
- 总用量 16
- -rw-r--r--. 1 ftpuser ftpuser 1982 4月 4 16:29 school_score_20200404162932.sql
- -rw-r--r--. 1 ftpuser ftpuser 1982 4月 4 20:30 school_score_20200404203001.sql
- -rw-r--r--. 1 ftpuser ftpuser 1982 4月 4 20:31 school_score_20200404203101.sql
- -rw-r--r--. 1 ftpuser ftpuser 1982 4月 4 20:32 school_score_20200404203201.sql
- [root@192 backup]# crontab -r
- [root@192 backup]# crontab -l
- no crontab for root