linux PostgresSql和MySQL数据库做数据定时备份以及清理

在linux系统上新建pgsql-all-backup.sh文件

touch pgsql-all-backup.sh;

把以下内容拷贝到pgsql-all-backup.sh文件中。并保存

#!/bin/bash
source /etc/bashrc
echo "开始执行 PostgreSql 数据库satellite的备份!"
echo "backup ing -------------------"
nowtime=$(date +%F+%T)#数据库密码
export PGPASSWORD="xxx"
echo "时间:" $nowtime
set timeout 500
/usr/pgsql-11/bin/pg_dump --file "/usr/pgsql-11/bak-file/pgsql-all-"$nowtime".backup" --host "127.0.0.1" --port "5432" --username "postgres"  --dbname "xxx"
echo "数据库 satellite 备份结束!"
exit;

注:--file 是你要准备备份的目录文件。/usr/pgsql-11/bin/pg_dump。是你安装的目录。可以通过find / -name "pg_dump"去找到具体文件目录

mysql备份同理。脚本如下:

#!/bin/bash
source /etc/bashrc
echo "开始执行 mysql 数据库its的备份!"
echo "backup ing -------------------"
nowtime=$(date +%F+%T) #数据库密码
echo "时间:" $nowtime
set timeout 500
/usr/local/mysql/bin/mysqldump -u用户名 -p密码   数据库 -t > "/home/database/mysql-all-"$nowtime".sql"
echo "数据库 its 备份结束!"
exit;

 

做完以上内容后。需要在linux上新建定时任务。

crontab -e命令会弹出一个文件。把文件填上pgsql-all-backup.sh绝对路径。如下图

然后保存。可以通过crontab -l 查看配置的定时内容

34 23 * * * /usr/pgsql-11/pgsql-all-backup.sh == >每天23:34分执行。

注意为了定时任务能执行命令。需要对sh文件进行设置权限。我这里是开启777的权限。chmod 777 pgsql-all-backup.sh

自己可以模拟实验下。/usr/pgsql-11/pgsql-all-backup.sh这样执行。是否能成功。

 如果执行不了,就需要chmod 777 pgsql-all-backup.sh。

备份目录下的文件

好了。以上就是定时备份的操作。

定时清理和定时备份步骤是一样的。这里不做太多的描述。把定时清理脚本放出来。

#!/bin/bash
source /etc/bashrc
echo "删除 5 天前的 数据库备份文件!"
find /usr/pgsql-11/bak-file/ -name "pgsql-all-*" -mtime +5 -exec rm -rf {} \;
set timeout 1000
echo " 5 天前的数据库备份文件删除完毕!"

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王威振的csdn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值