You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在bash脚本的mongodump备份文件名中添加日期戳

解决方案

你只需要新增1行日期变量定义,再调整输出目录的拼接规则即可,修改后的完整脚本如下:

db="SPECIFY_DB_NAME"
# specify collections
collection_list="<collection1> <collection2> <collection3>"
# if its running on local machine:
host=127.0.0.1

port="SPECIFY PORT"
# where to dump:
out_prefix=/Temp
# 新增:获取格式为 年.月.日 的当前日期戳
backup_date=$(date +%Y.%m.%d)

for collection in $collection_list; do
    echo $collection
    # 修改输出目录规则,按要求拼接日期
    out_dir="${out_prefix}/${collection}.${backup_date}/"
    mkdir -p ${out_dir}
    mongodump --host $host --port $port --collection $collection --db $db --out ${out_dir}
done

改动说明

  • 新增的backup_date=$(date +%Y.%m.%d)会在脚本每次执行时自动生成符合要求的日期字符串,%Y代表4位年份、%m代表2位月份、%d代表2位日期
  • 调整了out_dir的拼接逻辑,最终输出的目录结构就会和你要求的/Temp/collection.2021.11.22完全一致
  • 如果你需要保留数据库名在路径里,只需要把out_dir的定义改成${out_prefix}/${db}_${collection}.${backup_date}/即可

注意:如果你的服务器时区和预期时区不一致,可以在date命令前指定时区,例如要使用北京时间的话,把日期获取的命令改成backup_date=$(TZ=Asia/Shanghai date +%Y.%m.%d)即可。

内容的提问来源于stack exchange,提问作者Kwaker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 09:36:02