LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1226|回复: 8

功能需求,怎样隔一段时间锁定并拷贝相应的文件

[复制链接]
发表于 2006-4-7 03:59:36 | 显示全部楼层 |阅读模式
我现在用的turbolinux desktop里面提供的在线更新软件一将文件下载于/tmp/相应的随机目录一更新完毕就自动删除了。
所以请问各位大虾,如何比如隔一秒时间,通过rpm -K *.rpm来验证
zlib-devel-1.2.2-4.i686.rpm: (sha1) dsa sha1 md5 gpg OK 正常
xorg-x11-6.8.2-33.i686.rpm: (sha1) dsa sha1 MD5 GPG NOT OK 错误
一旦匹配正确文件就更改权限不让系统自动删除,并自动拷贝于备份目录该如何实现呢。
发表于 2006-4-7 09:40:39 | 显示全部楼层
用crontab能实现吗?
回复 支持 反对

使用道具 举报

发表于 2006-4-7 09:49:05 | 显示全部楼层
关键是怎么锁定啊?这是个问题哦.
用crontab或跑个进程来做sleep都无所谓.
回复 支持 反对

使用道具 举报

发表于 2006-4-7 09:49:46 | 显示全部楼层
或许你可以把它mv一下,改成别的名字.
回复 支持 反对

使用道具 举报

发表于 2006-4-7 14:03:10 | 显示全部楼层
try
  1. chattr +i
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-4-8 02:25:22 | 显示全部楼层
怎么办呢

那个程序在下载过程中那些rpm仍然是以原来的名字命名的,但是肯定不完整,所以无法确定具体在什么时间锁定了。也许尝试死循环不断的判断RPM是否下载完整了。

下载完整了中间有些时间用来安装,但是一些小包几乎是一下就安装完毕并被删除了。然后再下载别一个再安装并删除。
回复 支持 反对

使用道具 举报

发表于 2006-4-8 03:32:15 | 显示全部楼层
难道没有一个设置是保留升级文件的么?有点违背一般的设计。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-4-16 16:53:27 | 显示全部楼层
turboplus在线每下载一个RPM包安装完就将其删除,再下载另一个再安装再删除不断重复。所以脚本要实现的就是验证RPM下载时的完整性并将其备份。

#!/bin/bash
#cpupdate.sh

UPDDIR=/dato/tmp/tmp
SUCCESS=0
#sE_NOARGS=65
while true ; do
for rpms in *.rpm ; do
  rpm -i --test $rpms  # Query whether rpm file can be installed.
  if [ "$?" -eq $SUCCESS ]
then
cp -pv $rpms $UPDDIR ;
  fi
done
done

参考资料
google keyword :check rpm file
rpm-check.sh
http://cvsview.tldp.org/index.cg ... rpm-check.sh#rev1.3
一种非常简单的RPM包完整性验证方法

Bourne Shell及shell编程
http://www.google.com/search?q=Bourne Shell及shell编程&hl=zh-CN&lr=lang_zh-CN&ie=gb2312
while true死循环的实现
回复 支持 反对

使用道具 举报

发表于 2006-4-17 16:29:06 | 显示全部楼层
turbolinux 不能设置吗?这好象赶上M$了。呵呵
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表