自动化 SQL 脚本
Automating SQL script
我是编程界的新手。我有一个需要自动化的 SQL 脚本。所需的自动化如下:
1) 脚本应该 运行 每个星期天
2) 自动将结果转储到DUMP_YYYYMMDDHH24MISS.txt
3) 结果集是 tar gziped
4) 使用提供的用户名和密码上传到 SFTP URL。
我正在使用:
优尼系统,
垂直数据库
请各位大神帮忙?
这真的是 4 个问题,可能应该这样问。不过要以当前格式回答:
1) 自动安排任务 - Crontab
在终端中,输入 crontab -e
。
如果您每周日凌晨 1 点想要点什么,请添加以下行:
0 1 * * * 0 /path/to/script/script.sh
这将在每周日执行脚本。
2) 设置命令的输出
我只熟悉oracle。格式可能相似。为了得到你想要的文件名,你可以使用 date 函数,如下所示。 (这就是我在 Oracle 中的做法):
d=$(date +%Y%M%D%H%M)
var=$(sqlplus -s / as blahblahblah
select * from stuff;
exit
EOF
)
file_name=DUMP_${d}MISS.txt
echo "${var}" >> ${file_name}
请注意,您的日期命令可能有所不同,如果您在日期上执行手册页,它会告诉您需要哪些参数才能按照您的喜好设置日期格式。
3) 去皮重输出
tar -xvf ${file_name}
4) 通过 SFTP 发送
您必须对 sftp 进行身份验证,这超出了任何人在没有更多详细信息的情况下可以回答的范围。设置机器进行身份验证后,您可以:
sftp username@server<<EOF
put ${file_name}
EOF
我是编程界的新手。我有一个需要自动化的 SQL 脚本。所需的自动化如下:
1) 脚本应该 运行 每个星期天
2) 自动将结果转储到DUMP_YYYYMMDDHH24MISS.txt
3) 结果集是 tar gziped
4) 使用提供的用户名和密码上传到 SFTP URL。
我正在使用: 优尼系统, 垂直数据库
请各位大神帮忙?
这真的是 4 个问题,可能应该这样问。不过要以当前格式回答:
1) 自动安排任务 - Crontab
在终端中,输入 crontab -e
。
如果您每周日凌晨 1 点想要点什么,请添加以下行:
0 1 * * * 0 /path/to/script/script.sh
这将在每周日执行脚本。
2) 设置命令的输出
我只熟悉oracle。格式可能相似。为了得到你想要的文件名,你可以使用 date 函数,如下所示。 (这就是我在 Oracle 中的做法):
d=$(date +%Y%M%D%H%M)
var=$(sqlplus -s / as blahblahblah
select * from stuff;
exit
EOF
)
file_name=DUMP_${d}MISS.txt
echo "${var}" >> ${file_name}
请注意,您的日期命令可能有所不同,如果您在日期上执行手册页,它会告诉您需要哪些参数才能按照您的喜好设置日期格式。
3) 去皮重输出
tar -xvf ${file_name}
4) 通过 SFTP 发送 您必须对 sftp 进行身份验证,这超出了任何人在没有更多详细信息的情况下可以回答的范围。设置机器进行身份验证后,您可以:
sftp username@server<<EOF
put ${file_name}
EOF