题目:
在home下建立datafile文件夹,
cd /home
touch datafile
chmod +x datafile
并放置 -----在WINDOWS下
spool命令导出emp表数据文件,要求列之间无空格的,
emp表导出到122.txt
和emp表的数量导出到123.flg文件,
======================================
UE编辑器里写 第一步:
set echo off;
set verify off;
set pagesize 0;
set linesize 32767;
set trimspool on;
set trimout on;
set termout off;
set feedback off;
set heading off;
spool d:\app\122.txt
select empno||'|'||ename||'|'||job||'|'||mgr||'|'||hiredate||'|'||sal||'|'||comm||'|'||deptno from emp;
spool off ;
spool d:\app\123.flg
select trim(count(*)) from emp;
spool off;
exit;
保存文件。命名spool_122.sql;
UE编辑器里写 第二步:
sqlplus scott/tiger@orcl @d:\app\spool_122.sql
保存文件。命名spool_122.bat; 执行该文件
题目:手工放置到LINUX下的/home/datafile/ 122.txt 123.flg
第三步:
1、打开虚拟机VMware Workstation,输入账号root,密码root123,打开终端,输入ifconfig,得到inet addr;
2、再打开传输工具Secure File Transfer Client,输入上面的inet addr,用户名,密码,左边本地找到122.txt 和 123.flg ,右边远程,拖拉过去即可 ,这就是 手工放置
题目:
编写shell脚本,
用ftp命令连127.0.0.1
获取/home的datafile的123.flg
如果123.flg获取成功,
使用ftp命令获取122.txt,
获取123.flg中的条数数量,
并判断122中的数据条数
是否和得到的数量相同,
如相同对122文件改名为emp.txt
如果emp.txt文件改名成功,
则生成emp_ftp_done.flg文件
======================================================
第四步:
打开工具Secure Shell Client, 输入上面的inet addr,用户名,密码后 连接成功
输入代码:cd /home/datafile
vi ftp.sh
输入 i ,进入插入模式,开始shell脚本的编写
#!/bin/sh
while :
do
#先获取123.flg 标志文件
cd /root
ftp -v -n 127.0.0.1<
cd /home/datafile
get 123.flg 123.flg
bye
EOF
#标识下载成功 下载122.txt 数据文件
if [ -e 123.flg ];then
ftp -v -n 127.0.0.1<
cd /home/datafile
get 122.txt 122.txt
bye
EOF
fi
if [ -e 122.txt ] ;then
#分别获取flg中条数 和 txt中数据的数量
data_num=`cat 122.txt|wc -l`
count_num=`head -1 123.flg`
echo $data_num
echo $count_num
#如果数量相等 进行改名
if [ $data_num=$count_num ] ;then
mv 122.txt emp.txt
if [ -e emp.txt ];then
touch emp_ftp_done.flg
fi
fi
fi
if [ -e emp_ftp_done.flg ];then
touch emp_ftp_done.flg
echo '成功'
fi
# 等待5分钟
echo "等待5分钟"
sleep 300
done
按ESC键后 :wq 保存退出脚本
输入代码: ls
后调度脚本:sh ftp.sh
发现脚本已经成功执行
cd /root
ls
ls -l emp_ftp_done.flg
整个过程已经成功执行、结束