首先介绍一下cron这个定时备份的工具:

crontab -e : 运行文字编辑器来设定时程表,内定的文字编辑器是 VI。假设你想用别的文字编辑器。则请先设定 VISUAL 环境变数来指定使用那个文字编辑器(比方说 setenv VISUAL joe) 

crontab -r : 删除眼下的时程表

crontab -l : 列出眼下的时程表

crontab file [-u user]-用指定的文件替代眼下的crontab。

时程表的格式例如以下 : 

f1 f2 f3 f4 f5 program 

当中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日。f4 表示月份。f5 表示一个星期中的第几天。

program 表示要运行的程序。 

当 f1 为 * 时表示每分钟都要运行 program,f2 为 * 时表示每小时都要运行程序,其余类推 

当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要运行,f2 为 a-b 时表示从第 a 到第 b 小时都要运行,其余类推 

当 f1 为 */n 时表示每 n 分钟个时间间隔运行一次,f2 为 */n 表示每 n 小时个时间间隔运行一次,其余类推 

当 f1 为 a, b, c,... 时表示第 a, b, c,... 分钟要运行,f2 为 a, b, c,... 时表示第 a, b, c...个小时要运行,其余类推 

使用者也能够将全部的设定先存放在档案 file 中,用 crontab file 的方式来设定时程表。

再介绍一下git这个非常man工具:

git有2种方式提交,下载,一种是http,一种是ssh
这里仅仅介绍下不须要输入帐号password应该怎么做:
ssh的话,通常会有个ssh key,把你的key拷贝到github上去就可以,就是密钥,远程不须要输入password
还有一种http的方式则  git config --global credential.helper store 长期记住password
这是为了方便定时自己主动提交,至于其它的操作读者自行百度

最后通过Mail提交小附件也不错:

用mutt发邮件: echo "`date`" |mutt -s "WorkBack" xxx@gmail.com -a files
files为附件,附件能够用tar打包,这仅仅适合打包代码备份,太大发不出去.
也能够直接配好msmtp,用mail发邮件.

打造定时备份:

假如你须要每天下午5点20的时候备份几个文件夹
crontab能够这样写:
  1. # m h  dom mon dow   command
  2. 20 17 * * * /home/qx/xiaojunyu/temp/back.sh</span>

back.sh能够这样写:

  1. #!/bin/bash
  2. # *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
  3. #  > Author: xiaojunyu/LunaW
  4. #  > Mail  : xiaojunyu5201314@163.com
  5. #  > Gmail : lunaw.org@gmail.com
  6. #  > Blog  : http://blog.csdn.net/lunaw
  7. #  > GitHub: https://github.com/lunaw
  8. #  > Web   : http://lunaw.org http://lunaw.net
  9. # *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
  10. cd /home/qx/xiaojunyu/work
  11. echo "`date`" >>  README.md
  12. git pull origin master ;git add -A ;git commit -m "`date`" ;git push origin master
  13. cd /home/qx/xiaojunyu/temp
  14. echo "`date`" >>  README.md
  15. git pull origin master ;git add -A ;git commit -m "`date`" ;git push origin master
  16. cd /home/qx/xiaojunyu/
  17. tar -zcvf work.tar.gz work/
  18. #tar -zcvf temp.tar.gz temp/
  19. date '+%Y-%m-%d' | mutt -s Work_backup sd17@fastnet.net.cn -a work.tar.gz
  20. date '+%Y-%m-%d'| mutt -s Work_backup xiaojunyu5201314@qq.com -a work.tar.gz
  21. rm -f work.tar.gz

仅仅是非常easy的顺着备份,没有写非常复杂的功能,推荐git的方式,mail当作一个小备份,git能够依据整个文件夹的修改情况进行提交,比較节约资源

当然,还有非常多用途,这仅仅是冰山一角

关于工作,学习中定时备份的几个方法(cron,git,mail)的更多相关文章

  1. linux下使用crontab定时备份MYSQL数据库的方法:

    摘要 linux下使用crontab定时备份MYSQL数据库的方法: 只需按照下面3步做,一切都在你的掌控之下: 第一步:在服务器上配置备份目录代码: ------------------------ ...

  2. centos lamp/lnmp阶段复习 以后搬迁discuz论坛不需要重新安装,只需修改配置文件即可 安装wordpress 安装phpmyadmin 定时备份mysql两种方法 第二十五节课

    centos  lamp/lnmp阶段复习 以后搬迁discuz论坛不需要重新安装,只需修改配置文件即可 安装wordpress  安装phpmyadmin  定时备份mysql两种方法  第二十五节 ...

  3. Android中定时执行任务的3种实现方法

    在Android开发中,定时执行任务的3种实现方法: 一.采用Handler与线程的sleep(long)方法(不建议使用,java的实现方式)二.采用Handler的postDelayed(Runn ...

  4. windows 下mysql每日定时备份的几种方法

    第一种:新建批处理文件 backup.dat,里面输入以下代码:  代码如下 复制代码 net stop mysql xcopy "C:/Program Files/MySQL/MySQL ...

  5. [转]mysql自动定时备份数据库的最佳方法-支持windows系统

    网上有很多关于window下Mysql自动备份的方法,可是真的能用的也没有几个,有些说的还非常的复杂,难以操作. 我们都知道mssql本身就自带了计划任务可以用来自动备份,可是mysql咱们要怎么样自 ...

  6. windows系统——mysql自动定时备份数据库的最佳方法

    网上有很多关于window下Mysql自动备份的方法,可是真的能用的也没有几个,有些说的还非常的复杂,难以操作. 我们都知道mssql本身就自带了计划任务可以用来自动备份,可是mysql咱们要怎么样自 ...

  7. win-server下定时备份oracle数据库实现方法

    1.在e盘建立一个“oracle_backup”的文件夹,文件夹下再建两个文件夹分别为:“new”,“old”,然后在oracle_backup文件夹中新建一个bat文件,取名“expdb.bat”, ...

  8. vue开发学习中遇到的问题以及解决方法

    1:node-sass 安装失败,可使用 cnpm 安装 npm install cnpm -g --registry=https://registry.npm.taobao.org cnpm -v ...

  9. Linux下定时备份数据库

    linux下使用crontab定时备份MYSQL数据库的方法只需按照下面3步做,一切都在你的掌控之下: 第一步:在服务器上配置备份目录代码: mkdir /var/lib/mysqlbackup cd ...

随机推荐

  1. C++求解汉字字符串的最长公共子序列 动态规划

        近期,我在网上看了一些动态规划求字符串最长公共子序列的代码.可是无一例外都是处理英文字符串,当处理汉字字符串时.常常会出现乱码或者不对的情况. 我对代码进行了改动.使用wchar_t类型存储字 ...

  2. poj 3259-- Wormholes(SPFA)

                                                                                                         ...

  3. x+=y与x=x+y相同吗?

    为了将赋值操作简便化,Java提供了很多扩展赋值运算符,例如+=.-=./=.*=等等,那么问题来了,x += 1与x = x +1两者相同吗? public class EqualsTest { @ ...

  4. SpringBoot中拦截器和过滤器的使用

    一.拦截器 三种方式 继承WebMvcConfigurerAdapter   spring5.0 以弃用,不推荐 实现WebMvcConfigurer  推荐 继承WebMvcConfiguratio ...

  5. C# 同步更新系统时间

    前言 在定位用户问题时,发现有些电脑,会出现系统时间不是最新的问题. 可能原因: 取消了勾选服务器时间同步 当前安装的系统,是一个未知来源系统,导致系统时间更新失败 而系统时间不正确,会导致IE选项- ...

  6. 基于Apache Thrift的公路涵洞数据交互实现原理

    基于Apache Thrift的公路涵洞数据交互实现原理 Apache Thrift简介 Apache Thrift(以下简称为“Thrift”) 是 Facebook 实现的一种高效的.支持多种编程 ...

  7. WEBGL学习笔记(七):实践练手1-飞行类小游戏之游戏控制

    接上一节,游戏控制首先要解决的就是碰撞检测了 这里用到了学习笔记(三)射线检测的内容了 以鸟为射线原点,向前.上.下分别发射3个射线,射线的长度较短大概为10~30. 根据上一节场景的建设,我把y轴设 ...

  8. markdown 计算器

    计算器 分四种运算(加减乘除).括号.去除最后括号.验证等式是否计算完成 bracket = re.compile(r'\([^()]+\)') # 找括号 multiplys = re.compil ...

  9. meta标签的作用及整理

    [转载] meta的标签的使用是我在前端学习中曾经困惑过一段时间的问题.一方面不是很了解meta标签的用途,另一方面是对于meta标签里的属性和值不是懂,也不知道从哪里冒出来的,所以这篇文章专门整理下 ...

  10. java题(转载)

    1.下面中哪两个可以在A的子类中使用:( ) class A { protected int method1 (int a, int b) { return 0; } } A. public int ...