本文主要以Oracle导出自动处理为例,介绍Linux系统的自动定时处理的两个常见问题
一、自动导出处理脚本
#!/bin/bash
echo 'export data of test'
date
fmt=`date "+%Y-%m-%d[%HH%MM%SS]"`
exp system/password file=/opt/oracle/test"${fmt}".dmp PARFILE='/opt/oracle/ePFILE'
echo 'export data of test complete!'
二、如何处理带时间的文件名
定义shell变量
fmt=`date "+%Y-%m-%d[%HH%MM%SS]"`
输出与引用变量
"${fmt}"也可以用单引号可以查阅Shell相关资料
注意:1、``符号不是单引号,而是键盘TAB键上面的符号
2、上面的格式中%表示输出日期格式,可以查询date命令的文档获得
三、如何是脚本自动运行
1.crontab 让脚本或程序定时周期性执行
使用权限 : 所有使用者
使用方式 :
crontab [ -u user ] file
crontab [ -u user ] { -l | -r | -e }
说明 :
crontab 是用来让使用者在固定时间或固定间隔执行程序之用,换句话说,也就是类似使用者的时
程表。-u user 是指设定指定 user 的时程表,这个前提是你必须要有其权限(比如说是 root)才能够
指定他人的时程表。如果不使用 -u user 的话,就是表示设定自己的时程表。
餐数 :
-e : 执行文字编辑器来设定时程表,内定的文字编辑器是 VI,如果你想用别的文字编辑器,则请
先设定 VISUAL 环境变数来指定使用那个文字编辑器(比如说 setenv VISUAL joe)
-r : 删除目前的时程表
-l : 列出目前的时程表
时程表的格式如下 :
f1 f2 f3 f4 f5 program
其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星
期中的第几天。program 表示要执行的程序。
当 f1 为 * 时表示每分钟都要执行 program,f2 为 * 时表示每小时都要执行程序,其馀类推
当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第
b 小时都要执行,其馀类推
当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行
一次,其馀类推
当 f1 为 a, b, c,... 时表示第 a, b, c,... 分钟要执行,f2 为 a, b, c,... 时表示第 a, b,
c...个小时要执行,其馀类推
使用者也可以将所有的设定先存放在档案 file 中,用 crontab file 的方式来设定时程表。
例子 :
每月每天每小时的第 0 分钟执行一次 /bin/ls :
0 7 * * * /bin/ls
在 12 月内, 每天的早上 6 点到 12 点中,每隔 20 分钟执行一次 /usr/bin/backup :
0 6-12/3 * 12 * /usr/bin/backup
周一到周五每天下午 5:00 寄一封信给 youtops@gmail.com :
0 17 * * 1-5 mail -s "hi" youtops@gmail.com< /tmp/maildata
每月每天的午夜 0 点 20 分, 2 点 20 分, 4 点 20 分....执行 echo "you are right!"
20 0-23/2 * * * echo "you are right!"
注意 :
当程序在你所指定的时间执行后,系统会寄一封信给你,显示该程序执行的内容,若是你不希望收
到这样的信,请在每一行空一格之后加上 > /dev/null 2>&1 即可
2.at命令仅让脚本或程序运行一次,由于at命令与windows下很类似的用法,就不介绍了
分享到:
相关推荐
### Oracle定时导出脚本详解 #### 一、Oracle定时导出脚本基本结构与功能说明 在Linux环境下,为了实现Oracle数据库的自动化备份管理,通常会借助于shell脚本来完成定时导出任务。以下是一个典型的Oracle定时导出...
在这个场景中,我们需要创建一个BAT脚本来实现从Oracle数据库定时导出数据,并通过FTP将这些数据上传到远程服务器。 首先,我们需要了解Oracle数据库的基本操作。Oracle提供了多种数据导出工具,如SQL*Plus的`spool...
为了实现定时导出数据的需求,我们可以编写一个存储过程,该过程负责执行具体的导出逻辑。然后,结合Windows计划任务或SQL Server Agent作业,设置定期执行此存储过程的时间间隔。 **示例代码**: ```sql IF EXISTS...
- 创建SQL查询:首先,你需要编写一个SQL查询来选择你想导出的数据。例如,如果你想从名为"employees"的表中导出所有员工信息,查询可能如下: ``` SELECT * FROM employees; ``` - 设置输出格式:在SQL*Plus中...
首先,我们来看`get_data.sql`文件,这通常是一个SQL查询脚本,用于从Oracle数据库中选择要导出的数据。例如,它可能包含如下内容: ```sql SELECT * FROM your_table WHERE some_condition; ``` 在这个例子中,`...
本文将详细介绍如何使用Oracle工具和脚本将数据导出为不同的文件格式,如CSV、DBF,并探讨FTP自动下载脚本的实现。 首先,让我们关注Oracle数据库到CSV的导出。CSV(Comma Separated Values)是一种通用的文件格式...
总结来说,这个场景涉及到了Linux下的shell脚本编写,主要是使用`exp`命令导出Oracle数据库中的数据,并通过Java程序来调用这个脚本。这在日常的运维工作中非常常见,通过这种方式可以实现自动化数据备份,提高工作...
### Oracle定时备份脚本知识点详解 #### 一、Oracle数据库定时备份原理与脚本实现 在Oracle数据库管理中,为了确保数据的安全性和可用性,定期进行数据备份是必不可少的操作之一。通过编写定时备份脚本,可以自动...
linux下oracle数据泵备份完美解决了数据备份的完整性,这里提供大家数据泵自动备份的脚本,为各类生产环境中的数据的备份提供的较完善的解决方案
备份过程可以通过编写shell脚本并结合`crontab`定时任务来实现自动化。 **具体步骤如下:** 1. **创建脚本文件**:编写一个名为`ora_auto_exp.sh`的shell脚本,用于执行具体的备份操作。此脚本会读取一个配置文件`...
同时,我们还需要使用 expdp 命令将数据库导出到文件中,并将文件压缩和删除最近 7 天之外的数据。 设置定时 在编写完备份脚本文件后,我们需要设置定时,以便在每天晚上 23:20 自动备份数据库。我们可以使用 ...
编写定时删除Oracle日志脚本,我们需要考虑以下几个关键点: 1. **安全性**:确保在删除日志前已经进行了必要的备份,以防万一需要恢复数据。 2. **策略**:定义一个保留策略,比如按日期、数量或大小来决定哪些...
这个脚本应该包含执行Oracle备份的命令,例如使用`expdp`(数据泵导出)工具。下面是一个简单的示例: ```bash #!/bin/bash # 定义当前日期作为备份文件名 Filename=$(date +%y%m%d) # Oracle用户名和密码(注意...
在数据库维护方面,定时导出导入备份是确保数据安全的重要环节。Oracle提供了一系列的工具,如`expdp`和`impdp`(Data Pump Export和Data Pump Import)来进行数据的导出和导入。定时任务可以通过操作系统级别的任务...
首先,Oracle导出(expdp)是Oracle数据库提供的一个实用工具,用于将数据库对象的数据和元数据导出到数据泵目录或操作系统文件中。在导出过程中,如果数据库中存在空表,有时会导致不必要的资源浪费和可能的导出...
综上所述,通过编写bat脚本结合Java的定时任务功能,我们可以实现Oracle数据库的自动备份,确保数据的安全性和可恢复性。这种方法既方便又高效,尤其适合那些需要定期备份大量数据的大型企业或组织。在实际应用中,...
实现Oracle数据库导出空表的关键在于如何确保在导出过程中仅包含表结构而不包括数据。这通常涉及到对导出工具参数的合理配置以及对数据库特定设置的调整。 ##### 3.1 调整`deferred_segment_creation` 在Oracle 11...
脚本编写 根据提供的部分内容,可以看到一个名为`oracleBackUp.bat`的批处理文件,该文件定义了一系列的命令来实现Oracle数据库的备份。 - **环境变量设置**:首先设置了一些环境变量,如`dump_bak`表示备份文件...
在Linux环境下,远程定时备份Oracle数据库是一项至关重要...这涉及到Linux系统的操作、Oracle数据库的备份工具使用以及自动化脚本的编写,都是运维工作中不可或缺的技能。记得在实际操作中根据具体环境和需求进行调整。
综上所述,这套“Oracle Rman全能备份脚本”提供了全方位的数据库保护策略,涵盖了全备、增量备份以及数据泵备份,结合Linux的定时任务调度,实现了数据库备份的自动化。对于DBA来说,掌握并灵活运用这些脚本,是...