如何将过程的时间戳附加到UNIX中文件的名称



i有一个目录/home/user/ingest/,其中有许多尺寸的文件。我需要每两分钟将该文件夹中的每个文件移动到/home/user/ingest/inbox中。在某些情况下,第一个文件可能需要超过2分钟才能进入/home/user/ingest/inbox。在这种情况下,当它移动第二个文件时,它也不应该处理第一个文件。这就是为什么我认为在移动时将时间戳附加到文件名。无论如何,在外壳脚本中是否有这样做?

,我也知道,Usingh crontab可能会帮助我安排每两分钟执行Shell脚本的执行。我对克朗有一个基本的想法,但是对于我的特定要求,我如何检查文件是否每两分钟被爱?

您可以使用此bash脚本来做到这一点:

#!/bin/bash
TIMESTAMP=$(date +%s)
for f in /home/user/ingest/*
do
   if [ -f "$f" ]; then
      name=$(basename "$f")
      mv $f /home/user/ingest/inbox/${name}_${TIMESTAMP}
   fi
done

${TIMESTAMP}是自时代以来的秒数(1970年1月)。for循环通过/home/user/ingest/目录中的所有内容进行迭代,IF语句检查以查看文件是否为a 常规文件(不是目录,不是symlink),然后使用该文件将文件移至/home/user/ingest/inbox/。时间戳附加到末尾。

相关内容

  • 没有找到相关文章

最新更新