做运维工作要为自己减轻工作负担,所以对于重复性的工作最好写成脚本执行,如果周期比较频繁可以采用任务计划来完成,这样可以大大提高工作效率。

      首先自动备份的脚本内容如下:文件名为cmsp.sh

 
  
  1. #!/bin/bash 
  2.  
  3. export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK" 
  4. source /etc/profile.d/oracle.sh  //执行环境变量文件 
  5. cd $ORACLE_HOME/bin 
  6. dmppath=/data/bak/               //dmp文件备份路径 
  7. dmpname=cmsp`date +"%Y%m%d%H%M"`.dmp   //dmp文件命名 
  8. logname=cmsp`date +"%Y%m%d%H%M"`.log   //日志文件命名 
  9. exp citycms/temobicitycms file=$dmppath$dmpname log=$dmppath$logname direct=y          //导入数据库 

     我的系统是Linux Suse Enterprise 10,下面介绍一下cron服务的脚本配置。

     1.以root身份编辑cron.allow文件,手动添加oracle用户,允许使用cron服务。并启动cron服务 /etc/init.d/cron start

     2.以oracle身份执行crontab -e

        0 5  * * * /opt/oracle/useful_script/cmsp.sh (每天凌晨五点自动执行cmsp.sh脚本)

        分 时 日 月 周

     中间遇到问题如何调试:

     可以将 0 5  * * * 设置为离你现在操作的时间不远的时刻,然后远程监控日志看看是否执行该任务计划

     tail -f /var/log/messages  查看最后一条信息情况,根据提示一步一步排查。