su -c

在linux中,su命令可以用来切换用户,经常用的是su - oracle切换到oracle用户。
在shell脚本中遇到了一个问题,我之前的一篇文章中讲述了scp拷贝免密码的文章。因为在定时任务脚本中有可能遇到如下情况,我linux系统的oracle用户要scp文件到另外一台linux系统的root用户,而之前scp拷贝免密码只能相同用户之间的拷贝。

为了解决不同用户下,crontab 定时任务中,scp拷贝文件免密码,我的方法如下:

把之前oracle用户的定时脚本给root用户,在执行oracle数据库备份exp,expdp命令时,使用su - oracle切换身份,其中-c参数可以执行切换身份后的命令。

举例:

su - oracle -c "exp hbk/hbk file=aa.dmp full=y"

然后设置两台机器互信,这样就可以scp免密码拷贝了。

你可能感兴趣的:(linux)