云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

大带宽_数据备份服务器_限时特惠

小七 141 0

农业物联网_虚拟_云服务器与云数据库的区别

亲爱的各位,

我想与大家分享我在SAP PI中编写Unix shell脚本的经验,以及典型的使用案例。

保存在bash脚本文件中的单个Unix命令或命令的顺序执行可以从file adapter中的OS命令选项调用。这是SAP提供的一个利用强大的bash命令库的选项。

1)SCP命令:SCP意味着安全拷贝。用于将文件从第三方sftp服务器传输到PI服务器

scpsftpuser@主机:

2)SFTP命令:由于SCP命令不能用于从非基于linux的系统推/拉文件,因此替代命令是SFTP。此命令需要在批处理模式下运行。因此,我们需要在调用SFTP命令之前准备一个单独的批处理文件。在这里,我将批处理文件的内容用粗体表示。

sftp-bsftpuser@sftphost公司

退出

sftp-bsftpuser@sftphost公司

lcdcd放置exit

这里,以'exit'作为批处理参数的第一个执行实例用于检查sftp服务器当前是否可用。这是一种ping测试。PI尝试连接到sftp服务器,然后立即注销。我们可以根据返回代码检查结果。如果连接成功,则返回代码为0。(在执行大多数unix命令之后,在执行进一步的处理之前,会检查返回代码。这与ABAP中的SY-SUBRC完全相同)。

命令的第二个实例有4行,是实际实现文件传输的地方。

lcd->local PI directorycd->SFTP服务器中的远程目录put/get–基于文件是发送还是拾取。最后,退出用于注销。

3)CURL命令:用于直接从操作系统级,通过HTTP、FTP、IMAP、POP3、SCP、SFTP、SMTP、TELNET&FILE等多种协议将文件推送到第三方系统。这是最惊人的bash命令之一。

curl–trace ascii-F-F-F–max time 900–connect timeout 900-k :

这里,参数–trace ascii用于指定curl命令应该写入跟踪的位置。-F用于模拟通过HTTP提交的表单。这些是可选字段,可以根据需要使用。然后,我设置了一些超时。最后,我们有-k参数,用于以不安全的方式推送数据(即不需要任何登录)。然后,我们指定目标服务器的主机和端口详细信息。我们可以根据需要进一步传递其他详细信息,如用户名和密码、代理服务器详细信息、TLS版本。

4)ZIP命令

ZIP-m-j/$(basename-s.xml).ZIP/

此处,/可以替换为%F我们在这里要做的是,当zip命令选择接收通道放置的xml文件并对其进行压缩时,zip文件的基本文件名设置为与xml文件相同,但扩展名将从xml更改为zip。最后,zip文件将被放置在另一个输出文件夹中(根据需要)。参数-m和-j用于告诉命令删除原始xml文件,大数据资源,并且不在输出zip中创建嵌套文件夹。

在我们的场景中,使用payloadzip bean,我们无法为zip文件以及zip中的xml维护相同的文件名。一些博客建议创建一个自定义适配器模块。但是,我们使用unix脚本实现了这一点。

5)UNZIP命令

UNZIP-d

这里,-d用于指定不同的文件夹,而不是源位置。否则,解压后的文件将被提取到与zip文件相同的位置。

6)MAILX命令:用于发送电子邮件,以及附件:

echo-e"Hello,\n\n这是一封测试邮件,使用MAILX命令从PI服务器以$(date+"%m")/$(date+"%d")/$(date+"%Y")发送。"| MAILX-r-s"test mail"-a-c

您好,返利优惠券,\n\n这是一封测试邮件,使用MAILX命令从PI服务器以$(日期+"%m")/$(日期+"%d")/$(日期+"%Y")发送。->这将是电子邮件MIME正文。该命令将替换当前月份/日期/年份。测试邮件->这将是电子邮件主题绝对文件名->这里,我们指定完整的文件名以及路径。CC email id&To email id->在这里,我们指定收件人邮件id发送者邮件id->发送者邮件id在这里被提及。

7)Base64命令:编码/解码图像,其他文件到纯文本Base64格式:

Base64销售订单缺陷.jpeg>> 编码.txtbase64–解码编码.txt>>销售订单缺陷_输出.jpeg

这里,第一个base64命令用于编码图像文件并生成base64编码的文本文件。这可以发送到目标系统或由另一个通道拾取,家居智能化系统价格,并且可以添加xml标记(平面文件到xml),以便在PI中进行进一步操作。第二个实例使用–decode参数来实现相反的效果。

此外,阿里大数据分析,下面是一些基本的bash命令,我只是总结一下。

8)Cp,mv,rm用于复制,移动和删除本地服务器中的文件。

9)Mkdir,rmdir–在服务器中创建和生成目录。

10)Echo命令用于显示文本is terminal/将文本写入文件。

11)Ne,eq用于比较字符串和数字。Ne不等于operator,eq等于operator.

12)touch–用于创建用于测试目的的虚拟文件

13)Wget是Curl的另一种替代方法,但支持有限的协议

14)Grep–用于搜索文本

15)Man–用于命令行以查看手册/文档。Man表示手动。

16)Chmod–更改文件夹/文件权限

17)查找和替换:${basetext//tofindtext/toreplacetext}

18)gzip/gunzip是与zip类似的另一个选项,但有一些技术差异。

19)Cat用于连接操作。

Cat source_file-1 source_file-2>target_file将文件1和文件2的内容附加到新的目标文件中。

cat源文件1源文件2>>目标文件将文件1和文件2的内容附加到已有的目标文件中。

以下是一些用于测试unix命令/独立bash文件的有用工具: