1.psql免登录模式
1.cd ~
2.vi .pgpass,并加入需要登录的服务器的信息,格式:地址:端口:数据库名称:用户名:密码
3.保存退出,添加权限 chmod 0600 ~/.pgpass。可用命令ls -al |grep .pgpass查看配置的权限
备注:
.pgpass文件中我的内容:127.0.0.1:5432:postgres:postgres:postgres
2.shell脚本
1.cd ~
2.vi cron_postgres.sh
#!/bin/bash
#pg安装目录
PG_INSTALL=/usr/local/pgsql
PG_HOST="127.0.0.1"
PG_USER="postgres"
PG_PORT=5432
PG_DB="postgres"
#获取前3个月时间
currtime=`date +"%Y-%m-%d" -d '3 month ago'`
sql="delete from test1 where to_date(static_date, 'yyyy-MM-dd')<='$currtime'"
result=$($PG_INSTALL/bin/psql -d $PG_DB -h $PG_HOST -p $PG_PORT -U $PG_USER -c "$sql ")
timeDate=`date +"%Y-%m-%d %H:%M.%S"`
echo "[$timeDate] $currtime $result"
3.chmod -R 775 cron_postgres.sh
3.crontab定时任务
1.crontab -u root -e
2.* * * * * /root/cron_postgres.sh >> /root/postgres.log 2>&1
3.service crond restart
网友评论