美文网首页
postgres 定期清除数据脚本

postgres 定期清除数据脚本

作者: 何亮hook_8285 | 来源:发表于2021-09-11 16:08 被阅读0次

    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
    

    相关文章

      网友评论

          本文标题:postgres 定期清除数据脚本

          本文链接:https://www.haomeiwen.com/subject/ktkawltx.html