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点 系统会自动完成数据库的备份,压缩,并上传到远程服务器的指定路径下

时间: 2024-10-06 13:50:15

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

Debian下自动备份文件并上传到远程FTP服务器且删除指定日期前的备份Shell脚本

说明:  1.备份目录/home/osyunwei下面所有的文件到/home/osyunweibak里面,并且保存为osyunwei20120701.tar.gz的压缩文件格式(2012_07_01是指备份执行时当天的日期),最后只保留最近7天的备份 2.上传/home/osyunweibak里面的备份文件到远程FTP服务器上,并且只保留最近7天的备份. 3.FTP服务器:192.168.21.139 端口:21 账号:osyunwei 密码:123456 osyunweibak为备份文件存放目

linux备份数据库并上传至远程服务器(定时执行shell进行ftp上传)

#========================start shell 脚本============================ #!/bin/bash #定义备份数据库时使用的用户名和密码 db_user="root" db_passwd="111111" #定义FTP服务器地址.用户名.密码.目录 ftp_url=113.108.8.80 ftp_user=ftpuser ftp_passwd=111111 ftp_dir=/mysql_backup/xx

linux下将文件上传到svn服务器

linux下将文件上传到svn服务器 摘自:https://blog.csdn.net/sky_yangge/article/details/41544773 2014年11月27日 16:47:57 sky样 阅读数 7526 1.首先将svn的所指定的目录checkout到本地目录下: 使用svn co +服务器的地址(path),输入服务器的密码即可,此时会自动在本地目录下同步服务器你所指定的目录及里面所有的文件(其中co 即是 checkout的简写) 例如:svn co hettp:/

项目整合ckeditor实现图片上传到远程服务器

最近手头上的一个Java项目需要做一个门户网站,其中有一个模块就是用来发布最新的业界安全动态的模块,因此需要用到后台发布新闻的功能:刚开始的时候在网上搜了一下,大部分都是关于PHP和.NET的,关于Java不多,而且查到的都是说用ckeditor+ckfinder来实现,ckeditor实现文本的编辑,ckfinder实现图片的上传,刚开始我也是准备用ckeditor+ckfinder来实现的,但是后来研究ckfinder的时候不知道如何配置ckfinder的图片上传路径问题,网上可以找到好多例

MySQL执行sql查询并上传至远程服务器

最近项目中有需要做一个shell脚本,可以对一个数据库执行sql操作,并将结果转为txt,筛选结果用tab隔开,保存至一个远程服务器上,以供其他人用Excel读取用txt中的内容. MySQL中将结果保存下来,有两种方案,一种是在sql语句中增加INTO OUTFILE语句,并且可以定制化输出的格式.但是这种方法留下的文件在数据库所在的服务器上,而期望的是将文件放在执行脚本的机器上. 后来实现是不改变sql语句的内容,在脚本中将结果保存到本地/tmp目录下,再用curl上传到远程服务器上,下面抽

sftp上传到远程服务器

开发遇到一个需求,需要将图片通过sftp上传到远程服务器上,之前没用过这个功能,折腾了我好几天才搞定,下面记录下我的处理方法: $sftp = 'ssh2.sftp://';//连接sftp $conn = ssh2_connect('IP','端口');//登录 ssh2_auth_password($conn,"user","password"); $result = ssh2_sftp($conn);//判断是否存在目录HM if (!file_exists(

Jenkins打包上传至远程服务器

一,设置远程服务器信息 点击高级,设置远程服务器密码等信息. 二,打包上传 在配置页,构建模块,选择如下: 配置上传文件以及上传后执行的脚本 三.保存配置,打包测试. 原文地址:http://blog.51cto.com/bluehumor/2124519

php把文件上传到远程服务器上例子

在这里我们利用curl实现把本地服务器的文件通过curl发送请求给远程服务器的php文件接受就实现了上传,还一个是利用ftp来上传方法也是php中的curl操作ftp服务器进行上传. 我这里写的是用curl的代码 本地代码如下: <?php header('content-type:text/html;charset=utf8'); $curl = curl_init(); $data = array('img'=>'@'. dirname(__FILE__).'/img/login.gif'

SpringMVC结合Ajaxfileupload异步多文件上传至远程服务器

<input type="file" id="playeraddress" name="playeraddress" /> <input type="file" id="cover" name="cover" /> //这里就是两个file id自己定义 $.ajaxFileUpload({     url : web_path+'upload/upload.do