使用调度程序启动的Kettle作业在文件夹上没有许可证(Linux)

时间:2014-07-29 07:52:11

标签: linux permissions pentaho chmod kettle

我有一个Kettle工作的问题,这也是一个关于linux的问题。 我有一个Job创建一些文件夹,删除其他文件夹并创建一些文件并将它们放在这些文件夹中。我不会准确描述这项工作的成功,因为它不是重点。在开始描述我的问题之前,我想说这个工作完美无缺,我的意思是,如果我从勺子或我的ubuntu(14.04)终端启动这项工作,显然有厨房,一切正常。问题是我开始使用调度程序(一个用我所知道的人用java编写的软件)定期启动许多工作。奇怪的是,当这个调度程序启动作业,并尝试创建文件夹和文件时,它没有许可证来执行此操作。开发人员确保调度程序使用我编写的主文件夹的相同用户和组启动作业。我的意思是,如果我从终端启动命令ls -al,它会将ubuntu ubuntu显示为文件夹的用户/组,这些与调度程序使用的相同。但不幸的是,我无法告诉你更多关于它的信息,而且我真的没有机会管理调度程序代码并对其进行修改,所以我想以另一种方式解决问题。

我尝试过的第一件事就是更改了我用Job创建子文件夹和文件的文件夹中的许可证。我使用命令sudo chmod 777 -R /media/Folder在文件夹和子文件夹中给出了所有许可(正如您可以看到我主要在/ media文件夹中工作)。现在转换能够编写第一个子文件夹,比如/media/Folder/First_Folder,但它仍然没有新文件夹的许可,我的意思是它不能创建文件夹{{1因为这个新文件夹(Second_Folder)没有从父文件夹继承许可(因为它是在chmod命令之后创建的)。因此,我正在寻找一种方法,在我工作的父文件夹中新创建的文件夹和文件中提供正确的许可。许多人建议使用命令/media/Folder/First_Folder/Second_Folder,但这必须通过创建文件夹的过程完成,而我无法完成。任何人都知道另一种解决这个问题的方法吗?

我想到的第二个解决方案是更改Pentaho Kettle作业条目的源代码。我想可能是我可以添加一些代码行,这些代码可以改变我想要创建新文件夹的文件夹的许可。我找到了例如创建文件夹作业条目的代码,可能我应该在那里添加一些东西。但在我这样做之前,我想知道是否有人已经做过这样的事情(或者类似的事情)。 这是代码:

umask

可能是第一个解决方案是最好的和更少侵入性的。但到目前为止我还没有成功。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您是否尝试从carte服务器实例启动此预定作业?

远程设置预定作业或转换的正确方法是向作业添加启动步骤(第一步),单击并设置调度,之后,从控制台启动carte.sh服务器,重新设置从服务器从你在水壶工作并远程启动,现在点菜服务器将保留这份工作和时间表。