如何在使用 ssh 中的 cron 作业将文件名移动到云存储时为其添加时间戳

如何在使用 ssh 中的 cron 作业将文件名移动到云存储时为其添加时间戳

我在 Google 计算引擎上构建了一个 ftp 服务器,该服务器以 csv 格式接收来自本地系统的数据。我想在收到这些数据后,使用来自 vm ssh 的 cron 作业将其移动到 Google 云存储。除此之外,我还想在将文件移动到存储桶时将时间戳添加到文件名中。

我尝试过的 cron 任务是

*/2 * * * * gsutil mv *.txt gs://univer-bucket/$(date).txt

但这项工作没有成功,我不知道如何保留旧名称并只添加时间戳

提前致谢 :)

答案1

mv命令类似于“将所有.txt扩展名为 的文件移动到gs://univer-bucket/$(date).txt”。这仅在 是文件夹时才有效gs://univer-bucket/$(date).txt,但我认为不是。

您需要mv使用循环对每个单独的文件运行for。此外,我建议您为命令指定日期格式date

crontab 中的结果行可能是:

*/2 * * * * for file in *.txt; do gsutil mv "$file" "gs://univer-bucket/$(date +%Y-%M-%d-%H%M)-$file.txt"; done

相关内容