这是我离开上一家公司,到XX人寿保险公司的第一个工作内容,很简单,可以减少每天重复的工作量。写一个脚本,将指定文件夹下的所有文件打包成以日期命名的格式并存放到其父目录中,自动检测该压缩包,保留时间为3天。

场景模拟:在/tmp/test/a下有scripts和b两个目录,scripts下存放tar.sh脚本,b目录下则是要打包的文件目录。

当前路径为:/tmp/test/a/b

其目录下所有文件为:
[root@newtest b]# ll
-rw-r--r-- 1 root root 0 06-01 17:11 1file.txt
-rw-r--r-- 1 root root 0 06-01 17:11 2file.txt
-rw-r--r-- 1 root root 0 06-01 17:11 3file.txt
-rw-r--r-- 1 root root 0 06-01 17:11 4file.txt
-rw-r--r-- 1 root root 0 06-01 17:11 5file.txt
-rw-r--r-- 1 root root 0 06-01 17:11 6file.txt
-rw-r--r-- 1 root root 0 06-01 17:04 7file.txt
-rw-r--r-- 1 root root 0 06-01 17:04 8file.txt
-rw-r--r-- 1 root root 0 06-01 17:04 9file.txt

脚本存放路径为:/tmp/test/a/scripts/tar.sh

脚本内容:

  1. #!/bin/bash
  2. #tar for all files by date
  3. #write by xiaojing.zhao
  4. #2012.6.2
  5. DATE='date +%Y-%m-%d'
  6. #DELDATE='date -v -3d +%Y-%m-%d'
  7. CUR_DIR=/tmp/test/a/b
  8. FAR_DIR=/tmp/test/a
  9. cd ${CUR_DIR}
  10. tar zcvf ${FAR_DIR}/`$DATE.tar.gz` *
  11. cd ${FAR_DIR}
  12. rm -rf `find . -name '*.tar.gz' -mtime 3`
  13. echo "complete!"

执行效果为:

chmod +x tar.sh

[root@newtest scripts]# ./tar.sh
1file.txt
2file.txt
3file.txt
4file.txt
5file.txt
6file.txt
7file.txt
8file.txt
9file.txt
complete!

查看结果

[root@newtest a]# pwd
/tmp/test/a

[root@newtest a]# ll
-rw-r--r-- 1 root root    171 06-04 11:08  2012-06-04.tar.gz
drwxr-xr-x 2 root root 4096 06-04 08:56  b
drwxr-xr-x 2 root root 4096 06-04 08:57  scripts

打包成功,并且压缩包的保留时间为3天。

转载于:https://blog.51cto.com/wukui127/886649

tar自动打包指定文件夹中的文件到指定目录相关推荐

  1. VMware虚拟机文件夹中各文件作用详解

    VMware虚拟机文件夹中各文件作用详解 虚拟机的文件管理由VMware Workstation来执行. 一个虚拟机一般以一系列文件的形式储存在宿主机中, 这些文件一般在由workstation为虚拟 ...

  2. mvfiles:一次性提取多个文件夹中的文件

      作者:吴玉轩 (南开大学) Stata 连享会: 知乎 | 简书 | 码云 | CSDN   Stata连享会 精品专题 || 精彩推文 2019暑期"实证研究方法与经典论文" ...

  3. C++读取文件夹中所有文件的路径,包含子文件夹

    C++读取文件夹中所有文件的路径,包含子文件夹 C++实现指定文件夹的路径,获取该路径下所有文件的路径,含子文件夹的文件,为了实现跨平台编译,最后会给出Window和Linux的完成程序: [1]下面 ...

  4. java 文件递归删除文件夹_Java十行代码实现递归删除文件夹中所有文件

    递归删除文件夹中所有文件 要递归首先需要有方法.递归,即方法自己调用自己.一般在程序中很少使用,但在这个实现中,我们无法知道文件夹的深度,更无法根据深度来实现循环的嵌套. 递归两个重要条件: 终止边界 ...

  5. matlab依次读取每个数,『matlab如何依次读取文件夹中EXCEL文件,并对每一个EXCEL特定列全部数值进行处理?』matlab调入excel文件的某一列...

    matlab导入excel表格,第一行为x,第一列为y的数据,其余为z 行的NI(r=1--0.25)比烦. filename='a.xls';%,可据你的需要更改 y=xlsread(filenam ...

  6. 递归算法遍历文件夹中所有文件递归删除文件夹

    - 引言:怎样才能遍历出一个文件夹中的所有文件呢,我们知道,java中的File类中有这样的方法,list() ,可以返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录.我们是否可 ...

  7. matlab 选择文件夹、选择文件GUI和逐一读取文件夹中的文件

    matlab 选择文件夹.选择文件GUI和逐一读取文件夹中的文件 1. 选择文件夹路径: filepath = uigetdir('*.*','请选择文件夹');%fliepath为文件夹路径 2. ...

  8. 按文件名对文件夹中的文件分类

    我的文件夹中的部分文件,需要同一类的图片放在同一文件夹下(obj后面是类名). #用于获取文件夹中的文件对象.创建文件夹 import shutil #移动文件到指定文件夹中 import ospat ...

  9. 记录一下提取文件夹中所有文件名字

    配置Opencv很有用 快速提取文件夹中所有文件的名称! - 简书 (jianshu.com)

  10. Flume监听文件夹中的文件变化,并把文件下沉到hdfs

    1.采集目录到HDFS 采集需求:某服务器的某特定目录下,会不断产生新的文件,每当有新文件出现,就需要把文件采集到HDFS中去 根据需求,首先定义以下3大要素 采集源,即source--监控文件目录 ...

最新文章

  1. 345 所开设人工智能本科专业高校名单大全
  2. Quartz定时任务学习(九)Quartz监听器
  3. BUAA_OO第三单元作业总结——JML
  4. 搜索不包含关键词_亚马逊listing关键词优化
  5. Linux下memcache的安装和启动(很好)
  6. HTTP状态代码列表
  7. adb工具箱_安卓福音,史上最强搞机工具箱,一键修手机
  8. php 字符串方法名,PHP使用字符串名称调用类的方法是什么
  9. 【数据预测】基于matlab LSTM神经网络空调能耗数据预测【含Matlab源码 051期】
  10. Spring和Mybatis整合-原生dao开发
  11. 基于OpenCV与MFC的人脸识别
  12. c语言中char ch和getchar()是什么意思?
  13. 串口WriteFile 句柄无效 的解决
  14. 每天一大杯可乐,会不会骨质酥松哇?
  15. 微信H5分享朋友圈踩坑
  16. C++中的RVO、NRVO与Copy Elision
  17. 易基因技术推介|高通量单细胞甲基化测序技术介绍(sc-RBS)
  18. java全栈系列之JavaSE-面向对象(类与对象的创建)032
  19. c++/qt/opencv实现魔方复原【机器人应用】
  20. 资深HR告诉你,面试中你不知道的那些秘密!

热门文章

  1. VC:CString用法整理(转载)
  2. (1)学习数组,集合,IEnumerable接口,引申学习迭代器
  3. element ui只输入数字校验
  4. 加密解密-DES算法和RSA算法
  5. 为什么大家都推荐我学Linux
  6. ASP.NET页面之间传递值的几种方式
  7. Java面试宝典——————Java基础部分(三)
  8. 在Eclipse或MyEclipse中安装findbugs插件
  9. 《极乐空间》特效制作与渲染
  10. 在java的程序里date类型比较大小