您的位置:首页 > 运维架构 > Linux

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

2017-12-26 16:30 866 查看
(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点 系统会自动完成数据库的备份,压缩,并上传到远程服务器的指定路径下!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: