Linux shell 操作 postgresql,并设置crontab任务

Linux shell 操作 postgresql:删除间隔日期的数据
-删除指定日期的数据
-vacuumdb 清理数据库

-清理日志

-定期执行脚本


*修改pg_hba.conf 设置本地连接无密码,trust

# "local" is for Unix domain socket connections only
local   all             all                                     trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            trust

crontab 定期执行
*添加执行任务

crontab -e

 

*/1 * * * * /home/sample/delDataAndVacuumdb.sh >> /var/log/pg_maintenance.log

*/5 * * * * /home/sample/cleanLog.sh

*查看执行任务

crontab -l

*查看执行情况

vi /var/spool/mail/root
cat /var/log/cron

delDataAndVacuumdb.sh

#!/bin/bash
# this script is aimed to delete the expired data;
# and use the vacummdb command to clean up databases.
# Copyright(c) 2016--2016 yuxiangli All Copyright reserved.
echo "-----------------------------------------------------"
echo `date +%Y%m%d%H%M%S`
echo "delete the expired data..."
psql -h 127.0.0.1 -p 5432 -U postgres << EOF
delete from company where join_date < (select now()::timestamp - interval'1 month'); \\q EOF echo "-----------------------------------------------------" echo `date +%Y%m%d%H%M%S` echo "clean the databases..." vacuumdb --host=127.0.0.1 --port=5432 --all --username=postgres --analyze --verbose echo `date +%Y%m%d%H%M%S` echo "-----------------------------------------------------"

cleanLog.sh

#!/bin/bash
rm -rf /var/log/pg_maintenance.log
exit 0

 

转载于:https://www.cnblogs.com/Tiago/p/5379188.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值