免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3076 | 回复: 5
打印 上一主题 下一主题

如何定期备份和删除 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-03-10 19:04 |只看该作者 |倒序浏览
老板要求对/home下的各用户文件夹进行备份,具体要求每周1,3,5备份一次,在备份机器上只保留2个星期的备份,比如我从第一周开始备份,经过2周后,在第4周星期一备份的同时把第一周的数据全部删除.
     我想shell在每个周一mkdir一个文件夹用date +%Y%m%d_%W来命名,然后在进入其中备份/home下的子目录,用name.`date +%w`来命名,但现在我有几个问题解决不了
1,我不知道怎么样才能让系统一个星期只在周一,三,五执行相关操作而不是搞成象每隔两天来执行一次那样
2,如何只在周一建立一个以date +%Y%m%d_%W命名的文件夹,而周一,三,五的数据就自动存放在这个文件夹中.每周一建一个文件夹不难,关键是我不知道怎么让系统知道那些文件是属于第一周的,那些是属于第二周的来放入到相应的文件夹中
3怎么让系统自动在周一自动删除前两个星期的那个文件夹呢???

论坛徽章:
0
2 [报告]
发表于 2005-03-10 23:29 |只看该作者

如何定期备份和删除

main crontab
main find
备份
man tar
man gzip
man compress

论坛徽章:
0
3 [报告]
发表于 2005-03-11 08:52 |只看该作者

如何定期备份和删除

.......被打击了.
让我man crontab就可以了,没有必要要我man find ,tar ,gzip,compress
吧,主要是在时间的判断上有点问题,希望大家帮忙,谢谢

论坛徽章:
0
4 [报告]
发表于 2005-03-11 09:36 |只看该作者

如何定期备份和删除

这个实现起来并不是很难,但是让我做的话,绝对很麻烦。如这个:
2,如何只在周一建立一个以date +%Y%m%d_%W命名的文件夹,而周一,三,五的数据就自动存放在这个文件夹中.每周一建一个文件夹不难,关键是我不知道怎么让系统知道那些文件是属于第一周的,那些是属于第二周的来放入到相应的文件夹中


在程序中你可以通过date来获得当天的值,然后结合cal你可以得到,今天是否是星期一,如果是就建文件夹,如果不是的话,你可以通过cal得到这个星期的周一是哪一天,然后把文件放到那一天的文件夹中就可以了。
第三条也不难啊,你在程序里再加个判断,如果是周一,就把今天的时间加上几来得到前面的周几的值(反正一周只有七天,不会像月那样不规则)。

论坛徽章:
0
5 [报告]
发表于 2005-03-11 10:50 |只看该作者

如何定期备份和删除

1.单用crontab是不能解决的,您让shell每天执行,在shell前面增加个时间判断,符合条件就执行备份程序,不符合就退出, 条件写法可参考见下:
  1. [ `date +%u` -eq 1 -o `date +%u` -eq 3 -o `date +%u` -eq 5 -o ]
复制代码

2.
  1. dirpath=$(find . -name *_`date +%W`)
  2. touch ${dirpath}/$filename    #这写您操作并输出文件
复制代码

3.
  1. find . -mtime +14 -exec rm -r {} \;
复制代码

论坛徽章:
0
6 [报告]
发表于 2005-03-11 10:57 |只看该作者

如何定期备份和删除

gaOfeng,想不到你也在这个板块转啊,谢谢哦
也谢谢一梦如是,我会参考你的提示去做的.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP