使用 Pentaho 从远程 SFTP 删除超过 7 天的文件
Delete files older than 7 days from a remote SFTP with Pentaho
我正在使用 Pentado 数据集成 8.2。我对 Pentaho 的经验很少。
我需要使用 Pentaho 创建一个作业,从远程 SFTP 删除超过 7 天的文件。
我搜索过,但找不到远程 SFTP 的解决方案。
谢谢。
只需使用简单的文件处理步骤即可完成。
首先使用 get file names 它会给你 lastmodifiedtime 作为列。
之后过滤 7 天前的行。并将这些行传递给 processfile
.从 processfile 步骤的下拉列表中选择删除。
对于 7 天间隔,使用 get system info 获取当前日期,使用计算器获取 currentdate-7days。
我希望你明白了。
这个顺序是这样的。
get file names-->get sys info--> calculator -->filter rows -->process files
您可以使用 运行 ssh 组件连接到您的主目录。在 command
s 选项卡下的 settings
选项卡中,运行 以下命令。
find /path/to/ \
-type f \
-mtime +7 \
-name '*.txt' \
-execdir rm -- '{}' \;
这将删除所有 txt
超过 7 天的文件。
我正在使用 Pentado 数据集成 8.2。我对 Pentaho 的经验很少。
我需要使用 Pentaho 创建一个作业,从远程 SFTP 删除超过 7 天的文件。
我搜索过,但找不到远程 SFTP 的解决方案。
谢谢。
只需使用简单的文件处理步骤即可完成。 首先使用 get file names 它会给你 lastmodifiedtime 作为列。 之后过滤 7 天前的行。并将这些行传递给 processfile .从 processfile 步骤的下拉列表中选择删除。 对于 7 天间隔,使用 get system info 获取当前日期,使用计算器获取 currentdate-7days。 我希望你明白了。 这个顺序是这样的。
get file names-->get sys info--> calculator -->filter rows -->process files
您可以使用 运行 ssh 组件连接到您的主目录。在 command
s 选项卡下的 settings
选项卡中,运行 以下命令。
find /path/to/ \
-type f \
-mtime +7 \
-name '*.txt' \
-execdir rm -- '{}' \;
这将删除所有 txt
超过 7 天的文件。