每部主机的任务都不相同,重要的数据也不相同,重要性也不一样,因此,每个人癿备份思考角度都不一样! 有些备份策略是非常有趣的;

(1)挂载储存设备进行备份:

挂载设备:

备份的 script

#!/bin/bash
      #
      ####################################################################
      # 用户参数输入位置:
      # basedir=你用来储存此脚本所预计备份数据目录(请独立文件系统)
      basedir=/home/backup
      #
      ####################################################################
      # 底下请不要修改了!用默讣值即可!
      PATH=/bin:/usr/bin:/sbin:/usr/sbin; export PATH
      export LANG=C
      # 讴定要备份服务的配置文件,以及备份的目录
      named=$basedir/named
     # 判断目录是否存在,若不存在则予以建立。
     for dirs in $named
     do
     [ ! -d "$dirs" ] && mkdir -p $dirs
     done
     # 1. 将系统主要的服务配置文件分别备份下来,同时也备份 /etc 全部。
     cp -a files $named

(2)定时备份MYSQL数据库的方法:

备份的 script (务必更改其中的username,password和dbname)

#!/bin/sh

mysqldump -uuser -ppassword dbname | gzip > /var/lib/mysqlbackup/dbname`date +%Y-%m-%d_%H%M%S`.sql.gz

cd  /var/lib/mysqlbackup

rm -rf `find . -name '*.sql.gz' -mtime 10`  #删除10天前的备份文件

(3)使用 FTP 上传备份数据:
假如你要上传的数据是将 /backup/weekly/ 目录内的档案统整为一个 /backup/weekly.tar.bz2 , 并且上传到朋务器
端的 /home/backup/ 下,使用的账号是 dmtsai ,密码是 dmtsai.pass 。 那举你可以这样做看看:

#!/bin/bash
      # ===========================================
      # 先输入系统所需要的数据
      host="192.168.1.100" # 进程主机
      id="dmtsai" # 进程主机的 FTP 账号
      pw='dmtsai.pass' # 该账号的密码
      basedir="/backup/weekly" # 本地端的欲被备份的目录
      remotedir="/home/backup" # 备份到进程的何处?
      # ===========================================
       backupfile=weekly.tar.bz2
       cd $basedir/..
       tar -jpc -f $backupfile $(basename $basedir)
       ftp -n "$host" > ${basedir}/../ftp.log 2>&1 <<EOF
       user $id $pw
       binary
       cd $remotedir
       put $backupfile
       bye
       EOF

(4)使用 rsync 上传备份数据:
另一个更简单的方法就是透过 rsync ,但是你必须要在你的朋务器上面取得某个账号使用权后, 并且该账号可以不用 密码即可登入才行!这部分得要先参考朋务器篇得进程联机朋务器才行! 假如你已经设定好 dmtsai 这个账号可以不用密码即可登入进程朋务器,而同样的你要让 /backup/weekly/ 整个备份到 /home/backup/weekly 底下时,可以简单这样做:

#!/bin/bash
      remotedir=/home/backup/
      basedir=/backup/weekly
      host=127.0.0.1
      id=dmtsai
      # 底下为程序阶段!丌需要修改喔!
       rsync -av -e ssh $basedir ${id}@${host}:${remotedir}

以上的脚本写好后,可以使用crontab进行定时备份:

vi crontab

# 加入这两行即可 (请注意你癿档案目录!丌要照抄呦!)
      30 3 * * 0 root /backup/backupwk.sh
      30 2 * * * root /backup/backupday.sh

crontab的格式:

分 时 日 月 星期 要运行的命令

第1列分钟1~59, 第2列小时1~23(0表示子夜), 第3列日1~31
     第4列月1~12, 第5列星期0~6(0表示星期天), 第6列要运行的命令

这里有crontab文件条目的一些例子:

30 21 * * * /usr/local/apache/bin/apachectl restart  #表示每晚的21:30重启apache。

45 4 1,10,22 * * /usr/local/apache/bin/apachectl restart #表示每月1、10、22日的4 : 45重启apache。

10 1 * * 6,0 /usr/local/apache/bin/apachectl restart #表示每周六、周日的1 : 10重启apache。

0,30 18-23 * * * /usr/local/apache/bin/apachectl restart #表示在每天18 : 00至23 : 00之间每隔30分钟重启apache。

0 23 * * 6 /usr/local/apache/bin/apachectl restart #表示每星期六的11 : 00 pm重启apache。

* */1 * * * /usr/local/apache/bin/apachectl restart #每一小时重启apache

* 23-7/1 * * * /usr/local/apache/bin/apachectl restart #晚上11点到早上7点之间,每隔一小时重启apache

0 11 4 * mon-wed /usr/local/apache/bin/apachectl restart #每月的4号与每周一到周三的11点重启apache

0 4 1 jan * /usr/local/apache/bin/apachectl restart #一月一号的4点重启apache

参考:鸟哥linux以及网上的一些资源

linux 定时备份的更多相关文章

  1. Linux定时备份数据到百度云盘

    导读:如今的百度云盘免费容量都是2T了,即使把电脑上所有的东东都放上去,也还有大把的剩余空间.对于站长来说,是完全可以充分利用这些硬盘空间的,现在我们就用百度云盘来备份Linux服务器上的数据. 一直 ...

  2. linux定时备份mysql并同步到其它服务器

    数据在任何一家公司里面都是最核心的资产,定期备份则是为了保证数据库出现问题的时候能够及时回滚到最近的备份点,将损失缩小到最小 这篇文章将会两部分来说明:1.mysql的定期备份:2.同步到其它服务器 ...

  3. linux定时备份mysql数据并同步到其他服务器

    (备份还原操作) ###导出数据库 /usr/bin/mysqldump -u root -pwd database > database20180808.sql ###导入数据库 mysql ...

  4. linux 定时备份mysql数据库

    首先要先搞清楚两个概念: ①.mysqldump,mysqldump是mysql的逻辑备份工具,它不是linux的命令,工作原理类似产生一些列sql语句,对数据库进行指定的逻辑备份. 最简洁的形式是: ...

  5. linux 定时备份mysql

    定时备份:1.创建备份文件存放目录2.创建备份脚本backup.sh #!/bin/bash DBUser=db_backDBPasswd=passwordDBName=db_nameSERVER=l ...

  6. crontab的相关设置&linux定时备份数据库

    对于才了解crontab的人来说,应该按照以下的步骤来设置crontab 1.首先要检查是否装了crontab http://blog.sina.com.cn/s/blog_4881040d01011 ...

  7. Win和Linux定时备份数据库

    项目的数据库需要每天备份,但是手动备份太麻烦而且容易忘,所以通过定时任务执行脚本备份数据库,服务器有Windows和Linux,所以两种都记录一下. 一.Windows 首先写好脚本,这里不多说,因为 ...

  8. linux 定时备份数据库

    说明 检查Crontab是否安装 若没有 需要先安装Crontab定时工具 安装定时工具参考(https://www.cnblogs.com/shaohuixia/p/5577738.html) 需要 ...

  9. linux定时备份学习笔记

    1.iterm2链接远程中文乱码 shh端vi ~/.bash_profile export LC_CTYPE=en_US.UTF-8 source ~/.bash_profile   2.WARNI ...

随机推荐

  1. impala不能查询hive中新增加的表问题

         使用Cloudera Manager部署安装的CDH和Impala,Hive中新增加的表,impala中查询不到,其原因是/etc/impala/conf下面没有hadoop和hive相关的 ...

  2. MySQL性能优化(四)-- MySQL explain详解

    前言 MySQL中的explain命令显示了mysql如何使用索引来处理select语句以及连接表.explain显示的信息可以帮助选择更好的索引和写出更优化的查询语句. 一.格式 explain + ...

  3. HTTP 代理

    HTTP 代理: (1) 如果我们一直用同一个IP去爬取同一个网站上的网页,久了之后可能会被该网站服务器屏蔽,因此我们可以使用代理IP来爬取,代理实际上指的就是代理服务器(2) 当我们使用代理IP爬取 ...

  4. hive 客户端执行select count(1) from t_sz01

    yarn-site.xml配置错误 yarn.nodemanager.aux-services 中的-原先配置为_ 导致错误......

  5. django restframwork教程之Request和Response

    从这一篇文章开始,我们会覆盖整个REST framwork框架的核心,接下来让我们介绍一些基础的构建块 Request 对象 REST framework 引入了一个扩展HttpRequest的请求对 ...

  6. Js跨域、父级窗口执行JS赋值、取值,更改元素

    网站域名: A:http://www.xxoo.com/a.html B:http://www.aabb.com/b.html B网站嵌套与A网站(A的a中的Iframe指向B中的b)b要让父级a页面 ...

  7. poj_2441 状态压缩dp

    题目大意 N头牛,M个谷仓,每个牛c都有它喜欢的若干个谷仓,现在要将这N头牛安排进谷仓,使得每个牛都位于它喜欢的谷仓,而每个谷仓只能有一头牛.求安排的方案总数.N, M <= 20 题目分析 将 ...

  8. c++11——基于范围的for循环

    c++11中有基于范围的for循环,基于范围的for循环可以不再关心迭代器的概念,只需要关系容器中的元素类型即可,同时也不必显式的给出容器的开头和结尾. int arr[] = {1, 2, 3, 4 ...

  9. 【PHP】php 生成条形码

    1.什么是条形码? 百度百科定义:条形码(barcode)是将宽度不等的多个黑条和空白,按照一定的编码规则排列,用以表达一组信息的图形标识符.常见的条形码是由反射率相差很大的黑条(简称条)和白条(简称 ...

  10. JavaWeb温习之防止表单重复提交

    表单重复提交主要有以下三种情况: 1. 在网络延迟的情况下让用户有时间点击多次submit按钮导致表单重复提交 2. 表单提交后用户点击[刷新]按钮导致表单重复提交 3. 用户提交表单后,点击浏览器的 ...