Skip to main content
Announcements
A fresh, new look for the Data Integration & Quality forums and navigation! Read more about what's changed.
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

How to call .sh file from Talend

Hello All,

 

I have a requirement to call shell script(.sh file) in my talend job?

I'm using windows operating system and .sh file was placed on my windows desktop, I have to call .sh file in talend and pass the output to target

can any one tell me how can we achieve this requirement?

 

Regards,

Bharath

 

 

Labels (2)
8 Replies
Anonymous
Not applicable
Author

Hello,

Here is a tSystem component in talend which calls other system processing commands, already up and running in a larger Job.

Best regards

Sabrina

Anonymous
Not applicable
Author

Hello Sabrina,

 

Thanks for your response!!

 

Could you please provide me some in-sights how shall i call .sh script in tsystem component?

 

For Ex:  Test.sh

------------------------------------

#!/bin/bash -e
indate=$1
opDate=$(date "--date=$indate -1 day")
return opDate

---------------------------------

Above is the .sh file(Test.sh) which was placed on my windows box and talend is in same machine.

I'm not sure how can i get output from Talend?

 

Regards,

Bharath

Vishu1
Employee

If you want to run your sh command from your windows box to linux system then you can use tSSH component.

 

You can create that sh file in a context variable and put it into the 'command' text area.

if you are planning to run this job on the linux server then you can tSystem component

Anonymous
Not applicable
Author

Hi ,

 

This is Roopesh , even i am facing some challenge where i have to run .sh file if one of my sub job is failed .

1.Your response above :-If you want to run your sh command from your windows box to linux system then you can use tSSH component. 

You can create that sh file in a context variable and put it into the 'command' text area.

<Roopesh> Can you please share the sample job design and possible set up to be done in command text area , how to put it and what all possible config set up to be done as an example ?

 

2.if you are planning to run this job on the linux server then you can tSystem component

<Roopesh> echo -e \t"Upstream system is down\n\n" | sendmail rupesh.ramrao08@gmail.com , trying to execute the command but not finding the right syntax to be used when we run the job through talend tsystem component.

Please help me with your response on both the components usuage.

 

Thanks

 

Regards,

Roopesh

Anonymous
Not applicable
Author

Hello Sabrina,

 

Please let me know your suggestion / input on the concern which i highlighted.

Awaiting your response.

Sincere thanks..

 

Br

Roopesh

Anonymous
Not applicable
Author

Hi Roopesh,

 

    For your first query about tSSH, did you check the sample scenario mentioned in the help document?

 

https://help.talend.com/reader/mjoDghHoMPI0yuyZ83a13Q/sTcsNIL7HpmTR~owUepIAA

 

    If you are providing the fully qualified path for your .sh file and if your .sh file is having execute permission, then it should work fine like the sample shell commands.

 

Regarding your second question, I am wondering why you are using tSystem to send mail. Talend is having preconfigured component called tSendMail to end emails with attachments. Could you please use them rather than trying to do everything directly through shell scripts?

 

https://help.talend.com/reader/mjoDghHoMPI0yuyZ83a13Q/Ayp5ah3zMhy2MqXCu4g_Xg

 

If you are just doing all your functionalities by shell scripts directly, you are actually not utilizing the true power of Talend. So please use the components provided by Talend for functionalities like email transmission as it will give you more graphical interface about your overall flow.

 

Warm Regards,
Nikhil Thampi

Please appreciate our Talend community members by giving Kudos for sharing their time for your query. If your query is answered, please mark the topic as resolved 🙂

Anonymous
Not applicable
Author

Hello Nikhil Thampi,

 

Thanks for your response!

First option i think this would work fine in linux machine but i am using windows machine and i tried using the same but couldn't succeed hence i requested for sample job design how it works and how it should be built) ?

And, yes i have gone through this link ,but it dint suite for my requirement.

https://help.talend.com/reader/mjoDghHoMPI0yuyZ83a13Q/sTcsNIL7HpmTR~owUepIAA.

 

Second option ,yes we can use tsendMail component but in my project local mailers are installed in server and hostname are $outbound_proxy on port number =25 however having these smtp server details aren't shared with us since vendor requires mail to be sent to local mailer installed in server (/usr/sbin/sendmail) instead of smtp server. 

please let me know your response on this regard.

Thanks in advance.

Anonymous
Not applicable
Author

Ok. In this case, stick to tSystem command to run the commands. 

 

When you are using the tSystem command, what is the issue you are getting? Could you please share some screenshots so that we will get a better understanding of your job?

 

Warm Regards,
Nikhil Thampi

Please appreciate our Talend community members by giving Kudos for sharing their time for your query. If your query is answered, please mark the topic as resolved 🙂