时间:2021-07-01 10:21:17 帮助过:26人阅读
给执行权限:chmod +x xssp-exp.sh
注:以上代码为Oracle数据库运行账号oracle的系统环境变量设置,必须添加,否则crontab任务计划不能执行。
3、创建计划任务
[oracle@ggfwdb1 script]$ crontab -e
5 2 * * * /bin/sh /home/oracle/script/xssp-exp.sh #每天02:05分执行 10 2 * * * /bin/sh /home/oracle/script/artcms-exp.sh 15 2 * * * /bin/sh /home/oracle/script/caee_scan-exp.sh 25 2 * * * /bin/sh /home/oracle/script/ipijbpm-exp.sh 35 2 * * * /bin/sh /home/oracle/script/ipiqxt-exp.sh
注:crontab 执行记录在/var/log/cron
二、备份结果输出到windows跳板机
1、将备份日志的最后一行执行情况输出到指定文件,文件以日期命名
cat /home/oracle/script/db_bak.sh
#!/bin/bash TIME=`date "+%F"` xssp_log=/ipi_bak/db/gg/xssp/xssp_$TIME.log artcms_log=/ipi_bak/db/gg/artcms/cms_$TIME.log caee_log=/ipi_bak/db/gg/caee/caee_$TIME.log ipiqxt_log=/ipi_bak/db/gg/ipiqxt/ipiqxt_$TIME.log ipijbpm_log=/ipi_bak/db/gg/ipijbpm/ipijbpm_$TIME.log dblog=/home/oracle/db_baklog/$TIME.log echo "xssp_log" >> $dblog tail -1 $xssp_log >> $dblog echo "artcms_log" >> $dblog tail -1 $artcms_log >> $dblog echo "caee_log" >> $dblog tail -1 $caee_log >> $dblog echo "ipiqxt_log" >> $dblog tail -1 $ipiqxt_log >> $dblog echo "ipijbpm_log" >> $dblog tail -1 $ipijbpm_log >> $dblog
2、windows上用ssh的scp命令下载备份执行结果日志,这样就不用每次登陆去查看
批处理:cat_linux_bak.bat
cd D:\Program Files (x86)\SSH Communications Security\SSH Secure Shellscp2.exe root@数据库备份服务器ip:/home/oracle/db_baklog/* D:\ipi_bak\script\linux_dbbak_logs\
注:想要Linux和win要通过脚本自动互传文件不交互。需要进行Linux和win的信任配置:http://blog.csdn.net/jiangshouzhuang/article/details/50683049
简单叙述: 我们把Windows上面生成的Public Key放到Linux服务器上指定用户家目录下面的.ssh目录中,并添加公钥内容到.ssh目录下面的authorized_keys文件。 如果我们开始从Windows(客户端)上面通过ssh方式远程Linux(服务器)时,此时客户端软件就会向服务器发出请求,请求用密匙进行安全验证。服务器收到请求之后,先在该服务器上的主目录下寻找公匙,然后把它和发送过来的公匙进行比较。如果两个密匙一致,服务器就用公匙加密“质询”并把它发送给客户端软件。客户端软件收到“质询”之后就可以用私匙解密再把它发送给服务器,此时因为密钥能匹配上,所以可以直接登录到Linux服务器。 1、在Windows本机上生成密钥 D:\SSHCommunications Security\SSH Secure Shell>ssh-keygen2-t rsa 注释:我们这里使用rsa的密钥,默认是2048bit(位),同样我们也可以使用dsa方式的密钥。 在执行ssh-keygen2 -t rsa生成密钥对时,会提示你输入Passphrase的值,我们要求免密码登录服务器,所以直接回车。 有提示: Private key saved to C:/Users/Administrator/ApplicationData/SSH/UserKeys/id_rsa _2048_a Public key saved to C:/Users/Administrator/ApplicationData/SSH/UserKeys/id_rsa_ 2048_a.pub 根据提示知道了生成的密钥对的路径,但是经过我实际查找,我的windows环境的密钥对位于:C:\Users\Administrator\AppData\Roaming\SSH\UserKeys下面。
2、然后我们将Windows的C:\Users\Administrator\AppData\Roaming\SSH\UserKeys目录下的id_rsa_2048_a.pub文件上传到Linux服务器的home/user/.ssh目录下面。 因为我们的公钥是在Windows上面生成的,Linux的Openssh不识别,所以需要进行转换后再追加到authorized_keys中: $ ssh-keygen -i -f id_rsa_2048_a.pub >>authorized_keys 退出之前使用密码登录的SSH Secure Shell客户端,然后重新登录并在登录认证状态栏中选择Public Key方式,这样就可以免密码登录了。 3、测试 使用SSH Secure Shell客户端自带的scp2命令下载Linux服务器的文件 D:\SSH Communications Security\SSHSecure Shell>scp2.exe -r -d user@Linuxip:/home/user/testhivedata D:\test\ .000000_0.crc | 12B | 12B/s | TOC: 00:00:01 | 100% 000000_0 | 96B | 96B/s | TOC: 00:00:01 | 100% datacity.txt | 95kB | 95kB/s | TOC: 00:00:01 | 100% 可以看出远程拷贝也不需要输入密码。 |
最后查看执行结果:以后可以轻松的查看oracle的备份结果
通过shell备份oracle用户数据,并将巡检结果发送至windows跳板机
标签:环境变量 系统 ras cron 比较 开始 ace xterm pen