find 查找文件

一、要求:

  查找/data/目录下的2019年修改过的以.yml结尾的文件,将这些文件保留文件的目录结构打包,然后拷贝到/home目录下

二、查找文件

  1、查找以.sl结尾的文件:

    find /data -name *.yml

  2、查看这些文件的修改时间:stat命令

    stat 文件名字 

# stat deploy.yml
File: ‘/data/deploy.yml’
Size: 347183 Blocks: 680 IO Block: 4096 regular file
Device: fd03h/64771d    Inode: 70479172 Links: 1
Access: (0744/-rwxr--r--) Uid: ( 0/ root) Gid: ( 1000/shareuser)
Access: 2019-05-23 10:03:19.626759310 +0800
Modify: 2019-05-23 10:00:04.495621129 +0800
Change: 2019-05-23 10:00:04.495125281 +0800
Birth: -

 

3、拷贝文件(保留目录结构) 

  cp -r 目录 目录  

  如果没有对应的目录,需要使用命令“mkidr -p”来创建

三、打包

  首先进入到文件目录保存的目录下,然后使用tar打包

  tar -zcvf data.tar.xz *

 

四、使用shell脚本完成文件的查找及打包

#!/bin/bash

for file in `find /data/ -name *.yml -type f`
do
  if [[ `stat $file |awk -F[:,-] '/Modify/{print $2}' |sed 's/ //g'` -eq 2019 ]];then
    dir1=`echo $file |awk -F[/] '{print $3}'`
    dir2=`echo $file |awk -F[/] '{print $4}'`
  [  [ -e /data/scripts/tar/${dir1}/${dir2} ]] || mkdir -p /data/scripts/tar/${dir1}/${dir2}
    cp $file /data/scripts/tar/${dir1}/${dir2}
  fi
done

cd  /data/scripts/tar 
tar -zcvf data.tar.xz * 
mv data.tar.xz /home

 

转载于:https://www.cnblogs.com/carriezhangyan/p/10911068.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值