如果要在shell脚本中对postgresql直接进行操作可以执行类似于这样的命令【env PGPASSWORD=用户密码 psql -h数据库host -p数据库端口 -U用户名 -d数据库名称 --command “待执行的命令”】。比如如下shell脚本。

#!/bin/bash

function backup_file() {
    if [ -e "${1}" ]; then
        old_filename=$1
        new_filename="${old_filename}$(date +%Y%m%d%H%M%S)"
        mv ${old_filename} ${new_filename}
    fi  
}

if [ -e "./get_geomsql.sh" ]; then
    rm ./get_geomsql.sh
fi
backup_file geomsql
mif_files=$(ls ./MIFG | grep "mif")
for mif_file in ${mif_files}
do
    echo "python main.py --path=\"./MIFG/${mif_file}\" >> geomsql" >> get_geomsql.sh
done
sh get_geomsql.sh

env PGPASSWORD=osm@2019 psql -h9.148.120.235 -p5432 -Utencentmapbasedb -dnormandy --command "truncate cnn_info"
env PGPASSWORD=osm@2019 psql -h9.148.120.235 -p5432 -Utencentmapbasedb -dnormandy --command "\copy cnn_info from '/data/corgitao/wapianxuanran/CNN/geomsql' with delimiter '^'"

backup_file box_curl
python get_box.py > box_curl
cat box_curl | while read line
do
    {   
        $line
    } & 
done
wait
echo "Finished!!"
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐