【问题标题】:How can I automatically archive an HTML file using a bash script?如何使用 bash 脚本自动归档 HTML 文件?
【发布时间】:2018-09-08 18:52:25
【问题描述】:

我有两个目录:main/archive/
main/,我有一个 .html 文件。

每当我更改此文件时,我都想要一个 Bash 脚本

  1. 自动复制移动文件从main/archive/

  2. 并将其重命名为当前日期(例如:Sep2,2018.html)。

如果可以,如何实现?

【问题讨论】:

  • 是的。但 SO 不是免费的代码编写服务。你试过什么吗?见How to Askminimal reproducible example
  • 我不是在要求写作服务,我是在问是否有任何方法可以做到这一点,因为我迷路了。我试过复制和粘贴命令,效果很好,但我不知道如何将新复制的文件重命名为我帖子中提到的日期。

标签: html bash


【解决方案1】:

没有简单的方法可以满足您的要求。但是,您可以创建一个 bash 脚本以在重命名后将 html 文件复制到存档。然后您可以每隔 5 分钟左右在 crontab 中运行该脚本。

【讨论】:

    【解决方案2】:

    假设您使用的是 Linux,您可以 use inotifywait to learn about new files 并立即移动它们。

    在文件名中添加日期是一个完全独立的问题,在unix.SE 上必须至少回答了十几次。

    【讨论】:

    • 有什么办法可以在 mac 上获取 inotify-tools 包,还是只是一个 linux 的东西?
    【解决方案3】:

    30分钟后可以使用以下命令移动文件

    find /main/ -maxdepth 1 -mmin -20 -type f -exec mv "{}" /archive/ \;
    

    您可以将-mmin -20 调整为您认为对您有益的任何持续时间

    该命令的基本作用是,它尝试在当前文件夹中查找文件 -maxdepth 1 30 分钟前最后一次修改的文件 -mmin -30 并将它们移动到指定的目标目录。如果要使用上次访问文件的时间,请使用 -amin -30。

    更多信息可以在这里找到:Move files that are 30 minutes old

    你也可以试试这个不错的工具 https://superuser.com/questions/678191/copy-new-files-from-a-monitored-folder-to-another-in-debian

    【讨论】:

    • 感谢您的回答,但有没有办法可以在编辑后立即移动文件?这适用于 macOS 吗?
    • 是的,你可以。这应该在 mac 上工作,因为命令 find 在 osx 上工作。
    • 好的,那我怎样才能让它在编辑后移动一个文件呢?
    • 当您将 -mmin 调整为持续时间时,它会自动将文件移动到该持续时间。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-07
    • 1970-01-01
    • 1970-01-01
    • 2017-03-30
    • 1970-01-01
    相关资源
    最近更新 更多