1.前期准备
如果是异机备份的话,请保障本机与备份服务器之前使用公钥免密登录。
2.编写脚本
#!/bin/bash
# 定义备份目录
backup_addr='/tmp/test'
backup_dest=$backup_addr/backup
# 在备份目录下找到最近生成的3个文件
file=`ls -l $backup_addr |grep -v 'summary\|backup' | tail -n 3 | awk '{print $9}'`
today_date=`date +%Y%m%d`
if [ ! -d $backup_dest ]; then
mkdir $backup_dest
fi
# 将文件打包成zip格式,并定义好文件名
cd $backup_addr && zip -r $backup_dest/zbox_$today_date.zip $file
if [ $? -eq 0 ];then
echo "zip done."
fi
#发送到目标服务器
scp $backup_dest/zbox_$today_date.zip root@172.168.105.98:/raid_backup && rm -f $backup_dest/zbox_$today_date.zip
if [ $? -eq 0 ];then
echo "send done."
fi
echo $today_date\tzbox_backup\tdone. >> /tmp/backup.log
执行脚本之后,等待一会,发现服务器已经成功的收到文件了。
3.定时任务
使用Linux最常用的定时工具模块crontab,使用以下命令来添加新的任务:
0 2 * * * /root/zbox_autobackup.sh 2>&1
比如我把脚本文件放在/root目录下,定时每天凌晨两点执行。
评论区