创建脚本
- 创建一个备份脚本文件(例如backup_database.sh),并添加以下内容:
#!/bin/bash
# 设置Oracle环境变量
export ORACLE_HOME=/path/oracle/home
export ORACLE_SID=your_SID
export PATH=$ORACLE_HOME/bin:$PATH
# 指定备份目录和文件名
backup_dir="/path/backup/directory"
backup_file="$backup_dir/$(date +%Y%m%d)_database_backup.dmp"
# 执行数据库备份
expdp username/password@database_name dumpfile=$backup_file full=y
# 检查备份是否成功
if [ $? -eq 0 ]; then
echo "数据库备份成功!"
else
echo "数据库备份失败!"
fi
请根据你的配置将脚本中的以下参数替换为你自己的配置:
/path/oracle/home: 指向你的Oracle安装路径
your_SID: 替换为你的数据库实例的SID
username/password: 替换为用于备份数据库的用户名和密码
database_name: 替换为要备份的数据库名
/path/backup/directory: 指定你希望将备份文件保存的目录
赋予权限
- 保存脚本 并对其添加执行权限:
chmod +x backup_database.sh
设置定时
- 在终端中输入以下命令来编辑你的crontab配置:
crontab -e
进入文编后,添加以下一行来配置每天定时执行备份,保存并退出编辑器:
0 0 * * * /path/backup_database.sh
上述配置将在每天的凌晨(00:00)执行备份脚本。
注意:/path/backup_database.sh 替换为实际的备份脚本的路径。
配置完成后,crontab将定期运行备份脚本来执行数据库备份。你可以使用以下命令检查crontab的配置:
crontab -l
这会显示当前的crontab配置列表。
cron文件语法
有的小伙伴可能不了解定时任务中“*”代表的含义,以下是我的解答:
* * * * *
- - - - -
| | | | |
| | | | +----- 星期中星期几 (0 - 7) (星期天 为0或7) 或sun,mon,tue,wed,thu,fri,sat
| | | +---------- 月份 (1 - 12) 或jan,feb,mar,apr ...
| | +--------------- 一个月中的第几天 (1 - 31)
| +-------------------- 小时 (0 - 23)
+------------------------- 分钟 (0 - 59)
记住几个特殊符号的含义:
“*”代表取值范围内的数字,
“/”代表”每”,
“-”代表从某个数字到某个数字,
“,”分开几个离散的数字
30 3 10,20 * * ls 每月10号及20号的3:30执行ls命令[注:“,”用来连接多个不连续的时段]
25 8-11 * * * ls 每天8-11点的第25分钟执行ls命令[注:“-”用来连接连续的时段]
*/15 * * * * ls 每15分钟执行一次ls命令 [即每个小时的第0 15 30 45 60分钟执行ls命令 ]
30 6 */10 * * ls 每个月中,每隔10天6:30执行一次ls命令[即每月的1、11、21、31日是的6:30执行一次ls 命令。 ]
温馨提示:希望此文对你有所帮助,但是复制粘贴之前需要查看好自己的目录与作者的不同呦~
吾日三省吾身,新的一天祝你 开心 快乐!!!