简体   繁体   English

如何将 XML 个文件的目录转换为 RRD 文件

[英]How to convert a directory of XML files in to RRD Files

I need to restore rrd files from my exisiting xml files.我需要从现有的 xml 文件中恢复 rrd 文件。 So I have used following simple bash script.所以我使用了以下简单的 bash 脚本。

#!/bin/bash

for i in /home/dump_xml/*.xml;
do
rrdtool restore $i /home/rrd_new/"${i%.xml}".rrd;
done

I could not execute following script due to this error,由于此错误,我无法执行以下脚本,

ERROR: Could not create xml reader for: /home/dump_xml/*.xml

But I could restore files one by one.但是我可以一个一个地恢复文件。 Can someone help me to solve this?有人可以帮我解决这个问题吗?

When you use:当您使用时:

for i in /home/dump_xml/*.xml
do
    echo "$i"
done

You will see that $i equals:你会看到 $i 等于:

  • /home/dump_xml/a.xml /home/dump_xml/a.xml
  • /home/dump_xml/b.xml /home/dump_xml/b.xml

You see, it contains the path.你看,它包含路径。 Therefore your rddtool will try to write the results in /home/dump_xml/home/dump_xml/a.rrd .因此,您的rddtool将尝试将结果写入/home/dump_xml/home/dump_xml/a.rrd

You have to do:你必须做:

#!/bin/bash

for i in xml/*.xml
do
    filename=$(basename "$i")
    rrdtool restore "$i" /home/rrd_new/"${filename%.xml}".rrd;
done

Do not forget to double-quote your variable extensions.不要忘记双引号变量扩展。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM