Issue with running multiple commands withing su command
RHEL 6.2/Bash shell
root user will be executing the below script. It switches to oracle user and expect to do the following things
A. Source the environment variables for BATGPRD Database (the file used for sourcing is shown below after the script)
B. Shutdown the DB from sqlplus -- The section between EOF takes care of this
C. execute ps command and grep for the string pmon
D. Execute srvctl start command to start the database
Commands for A,B,C and D and enclosed in a single quote delimited by colons.
Issue description:
DB is shutdown succesfully from sqlplus (A & B ). But ps command and srvctl commands shown in red are not executed.
The exit command shown below (in green below) is actually the exit from sqlplus. I don't if this affecting the execution of remaining
sections of the script.
Code:
# cat test1.sh
su - oracle -c 'source /home/oracle/BATGPRD1_oracle_env;sqlplus -s / as sysdba <<EOF
spool /home/oracle/SCRIPTS/Clone/mytestSQL.log
set echo off
set heading off
select sysdate from dual;
shutdown immediate;
select name, open_mode from v$database;
exit
EOF; ps -ef | grep pmon ; srvctl start database -d BATGPRD'
#
#
# ./test1.sh
-bash: line 9: warning: here-document at line 0 delimited by end-of-file (wanted `EOF')
24/03/2014
Database closed.
Database dismounted.
ORACLE instance shut down.
select name, open_mode from v
*
ERROR at line 1:
ORA-01034: ORACLE not available
Process ID: 71641
Session ID: 2243 Serial number: 5
I'm trying to run a script file with multiple commands that I would normally type into the command line. The commands are:
#!/bin/bash
diff Test1.o0 /usr3/ronelso4/Desktop/verificationKPC/Test1.o0 > differences2
diff Test1a.o0 /usr3/ronelso4/Desktop/verificationKPC/Test1a.o0 >> differences2... (1 Reply)
Hi,
I would like to write a script with include more than 6 unix commands.
my script like below:
echo " script started"
ls -ld
bdf | grep "rama"
tail -10 log.txt
...
..
...
now, i want to run above unix commands one by one.
example:
first the ls -ld command will be... (3 Replies)
Hi all,
I'm using awk in a .ksh script to split one file by line prefix into different files (up to 4). The files are named after the prefix in the line, and a sequence no.
Is there any way to get the filenames in to variables too? I need _ftpfile1, _ftpfile2, _ftpfile3 and _ftpfile4 which are... (2 Replies)
In mysql, I can get what I want from a database without having to log into mysql. works great for me and it is perfect.
now, i want to be able to do the same in oracle but I dont know how to.
For example, if i want to retrieve information from the mysql database from the command line, i issue... (4 Replies)
Hi All,
Is there anything wrong with below syntax?
qx {perldoc -v ModuleName.pm | grep -i Description }
BTW, this question is related to Perl.
Thanks. (3 Replies)
Hi,
Is there a way in Korn Shell that I can run multiple commands stored as a semi-colon separated string, e.g.,
# vs="echo a; echo b;"
# $vs
a; echo b;
I want to be able to store commands in a variable, then run all of it once and pipe the whole output to another program without using... (2 Replies)
I'm trying to copy files from a remote windows server to Unix server. I was successfully able to copy files from windows server using command prompt but when I run these commands from a script it's not working as expected. commands used:
sftp user@remoteserver.com
lcd local_dir
cd... (3 Replies)
RHEL 6.2/Bash shell
root user will be executing the below script. It switches to oracle user logs in using sqlplus and tries to
run the below UPDATE statement. All the commands after su -c are enclosed in a single quote delimited by semicolon.
The execution has failed because the quotes... (3 Replies)
Hi All,
I have put a perl script together to go and collect some information from multiple nodes/endpoints. The script works absolutly fine however I want to make it quicker.
You will see in the below that my script calls an expect script called ssh_run_cmd2.exp followed by the IP of... (7 Replies)
I am working on script. it reads a file which contains multiple lines
Ex;
curl --write-out %{http_code} --silent --output /dev/null http://hostname:port/input=1
curl --write-out %{http_code} --silent --output /dev/null http://hostname:port/input=2
curl --write-out %{http_code} --silent ... (2 Replies)
Discussion started by: oraclermanpt
2 Replies
LEARN ABOUT CENTOS
runuser
RUNUSER(1) User Commands RUNUSER(1)NAME
runuser - run a command with substitute user and group ID
SYNOPSIS
runuser [options] -u user command [argument...]
runuser [options] [-] [ user [argument...] ]
DESCRIPTION
runuser allows to run commands with substitute user and group ID. If the option -u not given, fallback to su compatible semantic and shell
is executed. The difference between the commands runuser and su is that runuser does not ask for password (because it may be executed by
root user only) and it uses a different PAM configuration. The command runuser does not have to be installed with suid permissions.
When called without arguments runuser defaults to running an interactive shell as root.
For backward compatibility runuser defaults to not change the current directory and to only set the environment variables HOME and SHELL
(plus USER and LOGNAME if the target user is not root). This version of runuser uses PAM for session management.
OPTIONS -c command, --command=command
Pass command to the shell with the -c option.
--session-command=command
Same as -c but do not create a new session (discouraged).
-f, --fast
Pass -f to the shell which may or may not be useful depending on the shell.
-g, --group=group
specify the primary group, this option is allowed for root user only
-G, --supp-group=group
specify a supplemental group, this option is allowed for root user only
-, -l, --login
Starts the shell as login shell with an environment similar to a real login:
o clears all environment variables except for TERM
o initializes the environment variables HOME, SHELL, USER, LOGNAME, PATH
o changes to the target user's home directory
o sets argv[0] of the shell to '-' in order to make the shell a login shell
-m, -p, --preserve-environment
Preserves the whole environment, ie does not set HOME, SHELL, USER nor LOGNAME. The option is ignored if the option --login is
specified.
-s SHELL, --shell=SHELL
Runs the specified shell instead of the default. The shell to run is selected according to the following rules in order:
o the shell specified with --shell
o The shell specified in the environment variable SHELL if the --preserve-environment option is used.
o the shell listed in the passwd entry of the target user
o /bin/sh
If the target user has a restricted shell (i.e. not listed in /etc/shells) the --shell option and the SHELL environment variables
are ignored unless the calling user is root.
--help Display help text and exit.
--version
Display version information and exit.
CONFIG FILES
runuser reads the /etc/default/runuser and /etc/login.defs configuration files. The following configuration items are relevant for
runuser:
ENV_PATH (string)
Defines the PATH environment variable for a regular user. The default value is /usr/local/bin:/bin:/usr/bin.
ENV_ROOTPATH (string)
ENV_SUPATH (string)
Defines the PATH environment variable for root. The default value is /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin.
ALWAYS_SET_PATH (boolean)
If set to yes and --login and --preserve-environment were not specified runuser initializes PATH.
EXIT STATUS
runuser normally returns the exit status of the command it executed. If the command was killed by a signal, runuser returns the number of
the signal plus 128.
Exit status generated by runuser itself:
1 Generic error before executing the requested command
126 The requested command could not be executed
127 The requested command could was not found
FILES
/etc/pam.d/runuser
default PAM configuration file
/etc/pam.d/runuser-l
PAM configuration file if --login is specified
/etc/default/runuser
runuser specific logindef config file
/etc/login.defs global logindef config file
SEE ALSO pam(8), shells(5), login.defs(5), su(1)AUTHOR
Derived from coreutils' su which was based on an implemenation from David MacKenzie and Fedora runuser command from Dan Walsh.
AVAILABILITY
The runuser command is part of the util-linux package and is available from Linux Kernel Archive <ftp://ftp.kernel.org/pub/linux/utils
/util-linux/>.
util-linux August 2012 RUNUSER(1)