如何解决每当特定文件夹被修改时,Shell 脚本都会创建一个 tar 文件
shell 脚本新手,只想了解如何编写 shell 脚本以在特定目录被修改时创建 tar 文件。
Tarfile 应该类似于 nameofDir_timestamp.tar
find path/to/dir -mtime 10m exec tar -cvf {} ;
解决方法
假设你已经安装了 bash,你可以这样做
#!/usr/bin/env bash
dirname='folder'
dirlastmod='folder-last-modified'
[[ ${dirlastmod} -nt ${dirname} ]] && exit
timestamp=$(date '+%s')
tar -cvf "${dirname}_${timestamp}.tar" "${dirname}"
touch "${dirlastmod}"
并将其添加到 cronjob。
这将检查目录 folder
是否比文件 folder-last-modified
新,如果不是则退出。如果是,它将创建目录 folder
的 tar 文件,并使用 touch
更新/创建 folder-last-modified
文件上的时间戳。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。