您的位置:首页 > 大数据 > 人工智能

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

2015-12-29 14:56 627 查看

首先介绍一下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
这里只介绍下不需要输入帐号密码应该怎么做:
ssh的话,一般会有个ssh key,把你的key复制到github上去即可,就是密钥,远程不需要输入密码
另一种http的方式则  git config --global credential.helper store 长期记住密码
这是为了方便定时自动提交,至于其他的操作读者自行百度


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

用mutt发邮件: echo "`date`" |mutt -s "WorkBack" xxx@gmail.com -a files

files为附件,附件可以用tar打包,这只适合打包代码备份,太大发不出去.

也可以直接配好msmtp,用mail发邮件.

mutt的配置见 http://blog.csdn.net/lunaw/article/details/46853947

打造定时备份:

假如你需要每天下午5点20的时候备份几个目录

crontab可以这样写:

[html]
view plaincopy

# m h  dom mon dow   command  
20 17 * * * /home/qx/xiaojunyu/temp/back.sh</span>  

back.sh可以这样写:

[html]
view plaincopy

#!/bin/bash  
  
# *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*  
#  > Author: xiaojunyu/LunaW  
#  > Mail  : xiaojunyu5201314@163.com   
#  > Gmail : lunaw.org@gmail.com   
#  > Blog  : http://blog.csdn.net/lunaw  
#  > GitHub: https://github.com/lunaw  
#  > Web   : http://lunaw.org http://lunaw.net  
# *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*  
  
cd /home/qx/xiaojunyu/work  
echo "`date`" >>  README.md  
git pull origin master ;git add -A ;git commit -m "`date`" ;git push origin master  
cd /home/qx/xiaojunyu/temp  
echo "`date`" >>  README.md  
git pull origin master ;git add -A ;git commit -m "`date`" ;git push origin master  
cd /home/qx/xiaojunyu/  
tar -zcvf work.tar.gz work/  
#tar -zcvf temp.tar.gz temp/  
date '+%Y-%m-%d' | mutt -s Work_backup sd17@fastnet.net.cn -a work.tar.gz  
date '+%Y-%m-%d'| mutt -s Work_backup xiaojunyu5201314@qq.com -a work.tar.gz  
rm -f work.tar.gz  

只是很简单的顺着备份,没有写很复杂的功能,推荐git的方式,mail当作一个小备份,git可以根据整个目录的改动情况进行提交,比较节约资源

当然,还有很多用途,这只是冰山一角
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: