在一个"tarball"中(经过 tar 和 gzip 处理过的文件)备份最后 24 小时之内当前目录下所有修改的文件。

程序代码如下:

#!/bin/bash

BACKUPFILE=backup-$(date +%y-%m-%d)
# 在备份文件中嵌入时间。 archive=${1:-$BACKUPFILE}
# 如果在命令行中没有指定备份文件的文件名,那么将默认使用"backup-YYYY-MM-DD"文件名。 tar cvf - `find . -mtime -1 -type f -print` > $archive.tar gzip $archive.tar echo "Directory $PWD backed up in archive file \"$archive.tar.gz\"." exit 0

注意

如果在发现太多的文件的时候,或者是如果文件名包括空格的时候,将执行失败。

建议使用下边的两种代码之一

# -------------------------------------------------------------------
# find . -mtime -1 -type f -print0 | xargs -0 tar rvf "$archive.tar"
# 使用 gnu 版本的 find # find . -mtime -1 -type f -exec tar rvf "$archive.tar" '{}' \;
# 对于其他风格的 UNIX 便于移植,但是比较慢。
# -------------------------------------------------------------------

find 的 -exec 选项举例说明

找出当前目录下所有 .txt 文件并以 “File: 文件名” 的形式打印出来:

find . -type f -name "*.txt" -exec printf "File: %s\n" {} \;

上例中,{} 用于与-exec选项结合使用来匹配所有文件,然后会被替换为相应的文件名。

xargs 的 -0 选项

xargs -0 将 \0 作为定界符。

最新文章

  1. 索引深入浅出(5/10):非聚集索引的B树结构在堆表
  2. awk语法
  3. 文件重定向函数freopen
  4. php判断是否为手机客户端
  5. linux配置Java(JDK)环境变量
  6. WCF - 地址
  7. 用yum源安装Nginx
  8. 【原创】Kafka 0.11消息设计
  9. css文本强制一行 字间距
  10. 跟着大佬重新入门DP
  11. [BASH]获取执行脚本的路径
  12. VsCode云端版本
  13. Vladik and Favorite Game CodeForces - 811D (思维+BFS+模拟+交互题)
  14. DownloadProvider源码解析——与Volley对比
  15. 【HDOJ2586】【Tarjan离线求LCA】
  16. windows安装并破解navicat.
  17. ASP.Net在web.config中设置上传文件的大小方法
  18. Openwrt 远程调试
  19. webstorm 添加css前缀(兼容)自动添加
  20. QButtonGroup:按钮类的非可视化容器,默认可实现按钮的子类实例的单选。

热门文章

  1. python_day11
  2. 使用fabric2打包部署文件
  3. Kali proxychains
  4. javascript字符串方法总结
  5. Linux 下查看我们的不速之客
  6. LOJ-10100(割点个数)
  7. v$lockv和$locked_object的区别
  8. python函数(二)
  9. Android -Services 使用简介
  10. Vuejs——(13)组件——杂项