微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

每当特定文件夹被修改时,Shell 脚本都会创建一个 tar 文件

如何解决每当特定文件夹被修改时,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 举报,一经查实,本站将立刻删除。