所用知识点
shell脚本编写基础知识,crontab命令
首先试验环境
FTP服务器:192.168.2.129
备份服务器:192.168.2.128
首先备份服务器应该和FTP服务器能通
在备份服务器上安装ftp客户端
在备份服务器上编写脚本
1 #!/bin/bash 2 #this is back shell 3 DATE=$(date +%Y-%m-%d) 4 #设置备份格式为当日日期 5 FTPSERVERIP=192.168.2.129 6 #设置FTP服务器 7 FTPUSER="aaa" 8 #登录FTP的用户名 9 FTPPASSWORD="bbb" 10 #登录FTP的密码 11 SRC="/etc" 12 #设置备份的目录 13 DST=“$DATE.tgz” 14 #这是备份的名字 15 tar -zcvf $DST $SRC >/dev/null# 16 #备份目录 17 ftp -nvi << ! 18 open $FTPSERVERIP 19 user $FTPUSER $FTPPASSWORD 20 put $DST 21 bye 22 #上传到FTP服务器
执行过程
1 [root@666 ~]# ./back.sh 2 tar: Removing leading `/' from member names 3 ./back.sh: line 20: warning: here-document at line 16 delimited by end-of-file (wanted `!') 4 Connected to 192.168.2.129 (192.168.2.129). 5 220 (vsFTPd 2.2.2) 6 331 Please specify the password. 7 230 Login successful. 8 local: 20181209.tgz remote: 20181209.tgz 9 227 Entering Passive Mode (192,168,2,129,102,176). 10 150 Ok to send data. 11 226 Transfer complete. 12 11009172 bytes sent in 0.217 secs (50818.05 Kbytes/sec) 13 221 Goodbye.
上传成功
1 [root@centos1 ftp]# ls 2 20181209.tgz 3 [root@centos1 ftp]# ll 4 总用量 10752 5 -rw-r--r--. 1 aaa aaa 11009172 1月 9 20:29 20181209.tgz
设置定时启动脚本
crontab -e 59 23 * * 7 /root/back.sh
#每周天23日59分执行一次脚本