linux服务器使用FTP备份数据脚本

以CentOS为例:
1、安装FTP客户端:
yum install ftp
2、部署备份脚本到定时任务;
crontab -e
添加如下内容(每天凌晨2点自动执行备份脚本):
00 02 * * * /data/sh/bakup.sh
3、备份程序部署完成后,请人工定时登陆FTP检查备份文件的有效性,本公司保证FTP可靠,因脚本执行结果受系统环境和权限的影响,本公司不对自动备份的数据有效性做保证。

附加备份脚本,请自行修改相关参数:

#!/bin/sh
BAK_DIR="/data/backup/idc" #本机备份文件临时存储目录
WEB_DIR="/data/web/idc/*" #要备份的网站文件
FTP_USER="cheshirex" #FTP用户名
FTP_PWD="cheshirex" #FTP密码
DB="XXX" #要备份的数据库
DB_PWD="XXXXXX" #数据库root 用户密码
DATE_TIME=$(date +%F-%T)
DATE=$(date +%Y%m%d)
MYLOG_DIR='/var/log/mylogs'
mkdir -p /var/log/mylogs
DATE_TIME=$(date +%F-%T)
if [ -d BAK_DIR ]; then
chmod -R 755 $BAK_DIR
else
mkdir -p $BAK_DIR
chmod -R 755 $BAK_DIR
fi
#web backup
tar -zcPf $BAK_DIR/web_$DATE.tar.gz $WEB_DIR 2>&1
re1=$?
if [[ $re1 == 0 ]]; then
/bin/sync
/bin/sync
sleep 5
echo "Data has been completed package! $DATE_TIME" >> $MYLOG_DIR/databak.log

else
echo "Web completed package Fail!" >> $MYLOG_DIR/databak.log
fi
#database backup
mysqldump -u root -p$DB_PWD $DB > $BAK_DIR/db_$DATE.sql
re2=$?
if [[ $re2 == 0 ]]; then
echo "Database Export Completed! $DATE_TIME" >> $MYLOG_DIR/databak.log
else
echo "Database Export Fail!" >> $MYLOG_DIR/databak.log
fi
if [[ $re1 == 0 ]] && [[ $re2 == 0 ]]; then
echo "Began to upload file $DATE_TIME" >> $MYLOG_DIR/databak.log
ftp -n<<!
open 42.51.152.254
user $FTP_USER $FTP_PWD
binary
hash
cd /
lcd $BAK_DIR
prompt
mput *
close
bye
!
echo "Upload successful! $DATE_TIME" >> $MYLOG_DIR/databak.log
fi
rm -rf $BAK_DIR/*

來源:https://www.cheshirex.com/1774.html

advertising
Newage簡易教程linux服务器FTP备份,linux服务器数据库备份,linux服务器网站备份,網站backup
linux服务器使用FTP备份数据脚本 以CentOS为例: 1、安装FTP客户端: yum install ftp 2、部署备份脚本到定时任务; crontab -e 添加如下内容(每天凌晨2点自动执行备份脚本): 00 02 * * * /data/sh/bakup.sh 3、备份程序部署完成后,请人工定时登陆FTP检查备份文件的有效性,本公司保证FTP可靠,因脚本执行结果受系统环境和权限的影响,本公司不对自动备份的数据有效性做保证。 附加备份脚本,请自行修改相关参数: #!/bin/sh BAK_DIR='/data/backup/idc' #本机备份文件临时存储目录 WEB_DIR='/data/web/idc/*' #要备份的网站文件 FTP_USER='cheshirex' #FTP用户名 FTP_PWD='cheshirex' #FTP密码 DB='XXX' #要备份的数据库 DB_PWD='XXXXXX' #数据库root 用户密码 DATE_TIME=$(date +%F-%T) DATE=$(date +%Y%m%d) MYLOG_DIR='/var/log/mylogs' mkdir -p /var/log/mylogs DATE_TIME=$(date +%F-%T) if ; then chmod -R 755 $BAK_DIR else mkdir -p $BAK_DIR chmod -R 755 $BAK_DIR fi #web backup tar -zcPf $BAK_DIR/web_$DATE.tar.gz $WEB_DIR 2>&1 re1=$? if ]; then /bin/sync /bin/sync sleep 5 echo 'Data has been completed package! $DATE_TIME' >> $MYLOG_DIR/databak.log else echo 'Web completed...