记录一下~~~Linux配置定时任务备份数据库dmp文件

铁佛  论坛元老 | 2022-9-17 08:36:04 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 1013|帖子 1013|积分 3039

1.创建备份目录:
mkdir -p /dcits/sx_xmz/sx_data_bak
chown -R  oracle18c:oinstall /dcits/sx_xmz/sx_data_bak
2.脚本文件编写 vi databak.sh 输入如下内容
  1. #设置环节变量
  2. export ORACLE_SID=orcl18c
  3. export ORACLE_BASE=/home/oracle18c/u01/app/oracle
  4. export ORACLE_HOME=/home/oracle18c/u01/app/oracle/product/18.3/dbhome_1
  5. export PATH=/usr/sbin:$PATH
  6. export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
  7. export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
  8. export PATH=$ORACLE_HOME/bin:$PATH
  9. #设置用户变量, 数据库用户
  10. orowner=sx_rms
  11. #设置时间
  12. days=10
  13. #设置文件名称
  14. bakdata=$orowner"_"$(date +%Y%m%d).dmp
  15. #设置导出执行日志名称
  16. baklog=$orowner"_"$(date +%Y%m%d).log
  17. #设置打包名称
  18. ordatabak=$orowner"_"$(date +%Y%m%d).tar.gz
  19. #设置备份文件存放地址
  20. bakdir=/dcits/sx_xmz/sx_data_bak
  21. #编写备份命令
  22. cd $bakdir
  23. exp sx_rms/sx_ams@pdb1 file=$bakdir/$bakdata owner=sx_rms log=$bakdir/$baklog
  24. tar -zcvf $ordatabak  $bakdata $baklog
  25. find $bakdir  -type f -name "*.log" -exec rm {} \;
  26. find $bakdir  -type f -name "*.dmp" -exec rm {} \;
  27. find $bakdir  -type f -name "*.tar.gz" -mtime +$days -exec rm -rf {} \;
复制代码
**编写完成之后,手动执行下脚本验证脚本是否正确,完事用chmod命令给脚本文件赋予执行权限 **
3.切换到oracle的用户,创建Linux定时任务
-e        edit user's crontab   编辑定时任务
-l         list user's crontab    查看定时任务列表
-r        delete user's crontab 删除定时任务
crontab -l 查看当前用户下的定时任务
crontab -e 编辑定时任务,编辑完成保存
30 1 * * * /dcits/sx_xmz/sx_data_bak/databak.sh
crontab -l 查看是否添加成功
30 1 * * * /dcits/sx_xmz/sx_data_bak/databak.sh
定时任务设置时间结构:
  1. ┌────────── minute (0 - 59)
  2. │ ┌──────── hour (0 - 23)
  3. │ │ ┌────── day of month (1 - 31)
  4. │ │ │ ┌──── month (1 - 12)
  5. │ │ │ │ ┌── day of week (0 - 6 => Sunday - Saturday, or
  6. │ │ │ │ │                1 - 7 => Monday - Sunday)
  7. ↓ ↓ ↓ ↓ ↓
  8. *   *   *  *   * command to be executed
复制代码
注意事项:
  1. a、星期和数字对应
  2. 0 - Sun      Sunday
  3. 1 - Mon      Monday
  4. 2 - Tue      Tuesday
  5. 3 - Wed      Wednesday
  6. 4 - Thu      Thursday
  7. 5 - Fri      Friday
  8. 6 - Sat      Saturday
  9. 7 - Sun      Sunday
  10. b、’day or month‘ 、‘month’ 、‘day of week’  --这三项注意  如果不能确定月份日期和周日期对应关系,可以两个取一个  即 规定了 月份和日期 就不选择星期 星期 执行 *  规定了 星期  月份和日期就 * *
复制代码
参考链接:https://www.cnblogs.com/huangjiangyong/p/15434857.html

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

铁佛

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表