linux自动备份文件 并上传到远程服务器 脚本实现

      mkdir -p /backup/bakdata  #新建数据备份目录
(2)完成备份脚本操作
新建脚本文件
vi bakdata.sh
添加以下内容:

#!/bin/sh
dateTime=`date +%Y_%m_%d`    #当前系统时间
days=7    #删除7天前的备份数据s
orowner=bakuser   # 备份到此用户下
bakdescdir=/DATA/bakmdata     #备份文件到该路径
bakdata=$orowner”_”$dateTime.tar.gz   #备份文件名
baklog=$orowner”_”$dateTime.log    #备份日志
baksrcdir=/DATA/www/moodledata   #需要备份的文件
remotePath=/DATA/moodle/bakmooldedata   #远程服务器的路径

cd $bakdescdir    #进入备份目录
mkdir -p $orowner   #按需要备份的用户创建目录
cd $orowner   #进入目录
echo “backup start at $dateTime” > $baklog
echo “————————–” >>$baklog
tar -zcvf $bakdata $baksrcdir $baklog    #压缩备份文件和日志文件

find $bakdescdir/$orowner -type f -name “*.log” -exec rm {} \;   #删除日志文件
find $bakdescdir/$orowner -type f -name “*.tar.gz” -mtime +$days -exec  rm -rf {} \;#删除7天前的备份(注意:{} \中间有空格)
scp  $bakdescdir/$orowner/$bakdata 10.6.108.79:$remotePath  #上传到远程服务器
(3)添加脚本执行权限
chmod +x /backup/oracledata/ordatabak.sh

  #添加脚本执行权限
(4)编辑系统任务执行计划
crontab -e
输入一下信息“:

00 01 * * * /DATA/bakdata/bakdata.sh#每天凌晨1点,以oracle用户执行ordatabak.sh备份文件:wq! #保存退出

重启crontab

service crond restart

从此每天的凌晨1点 系统会自动完成数据库的备份,压缩,并上传到远程服务器的指定路径下

发表评论

电子邮件地址不会被公开。 必填项已用*标注