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

(1)在服务器上创建备份目录,并赋予权限
      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点 系统会自动完成数据库的备份,压缩,并上传到远程服务器的指定路径下!

你可能感兴趣的:(linux自动备份文件 并上传到远程服务器 脚本实现)