注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Oracle、MySQL资料及经验

.

 
 
 

日志

 
 

移动某目录下的前10个文件到另一个目录下  

2013-01-09 15:53:06|  分类: shell脚本 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

当前有一个特殊的应用场合,需要把一个目录下的文件复制到另一个目录下,然后把原目录下的文件删除。
本打算用rsync实现,如下:
rsync --remove-source-files -a /test1/*  /test2/
但由于这台机器OS是linux4,没有--remove-source-files参数,同时考虑如果程序正在往/test1目录写文件,此时拷贝和删除可能会出问题,所以只能使用其他方式。
于是想找出/test1/*目录下的前10个文件(根据文件创建时间的先后顺序),后把这前10个文件mv走,就可以实现了。
ls -thr * | head -10 | mv ... 直接mv,我没有实现,但借助一个变量实现了,如下:
#!/bin/bash
#初始化环境变量
source /home/oracle/.bash_profile
arc_remain=`df -Th | grep /test1 | awk '{print $4}' | cut -f 1 -d 'G' | cut -f 1 -d '.'`
#如果/u01目录剩余空间小于5G,则
if [ $arc_remain -lt 5 ]
then
  cd /test1/
  file=`ls -thr * | head -10`
  mv $file /backup/testbak/
fi

 

=====================

删除前100个文件:ls -thr * | head -100 | /usr/bin/xargs /bin/rm -f

  评论这张
 
阅读(294)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018