我在 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