I have the following
#!/bin/bash
USER='scott'
PASS='tiger'
ssh -t [email protected] "sudo su - http"
This Works, but I was trying to get it to run a script afterwards, and if I do, using -c or <
The script does a grep like this:
grep -i "Exception:" /opt/local/server/logs/exceptions.log | grep -e "|*-*-*:*:*,*|" | tail -1 | awk -F'|' '{print $2}' >> log.log
This also works fine on it's own, but I need to be http to do it.
I cannot SCP the output of the script back to server001 either, so I'm stuck here,
Any ideas would be relay appreciated. Ben
In most Linux distributions, the sudo package is installed by default. To use sudo, let's just type sudo and press enter. If sudo is installed, the sudo package usage details will be displayed. If it's not, a “command not found” message will be displayed.
Admins can SSH into any host and run sudo commands. Normal users can SSH into hosts that they have contributed to and run sudo commands.
Try
ssh -t [email protected] 'sudo -u http grep -i "Exception:" /opt/local/server/logs/exceptions.log | grep -e "|*-*-*:*:*,*|" | tail -1 | awk -F"|" "{print $2}" >> log.log'
Sudo already runs the command as a different user to there's no need to su again.
Only reason to do sudo su is to have a fast way to start a new shell with another user.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With