shell 自动执行sql

阅读更多

系统运维过程中,经常遇到向FTP上传下载数据,向DB读写数据等场景。FTP,SQLPLUS,MYSQL提供的都是交互式命令方式,在shell下也通过管道方式实现自动执行

 

1. FTP

1.1 -s参数指定文件名

vi ftpcmd.txt
open 192.168.5.10
myuser
mypass
get 1.txt 
bye
 
ftp -s:tpcmd.txt            // -s直接指定命令文件,可以完成自动测试,一般用于暴力破解FTP密码

  

1.2 "<

ftp -n < 
  

 

2. DB

#Oracle
sqlplus ${DbUser}/${DbPass}@${DbServ}:1521/${DbId} < 
  

 

3. redis

redis是非常流行的非关系型数据库,可通过下列方式执行批量的命令

cat data.txt | redis-cli -a 123456

cat读取data.ini 作为管道输入,data.ini 格式为一条命令一行

cat data.txt | redis-cli -a 123456 --pipe    

pipe指定用管道方式执行命令,这样可以提高执行效率。但此时的 data.ini 必须是dos格式的,每行以“\r\n“换行符结尾

 

 

你可能感兴趣的:(FTP,SQLPLUS,redis)