〇、参考资料

一、Crontab使用

1、查看状态

service crond status

2、新建crontab任务

crontab -e

输入字符串

* * * * * cd /home/bigdata && ./demo1_execute_and_input_parapmeter.sh dbname test

3、查看现在的定时任务

[bigdata@pg-xuelei-bigdata-dev ~]$ crontab -l
* * * * * cd /home/bigdata && ./demo1_execute_and_input_parapmeter.sh dbname test

4、删除定时任务

crontab -e

删除对应的内容

二、脚本编写

(一)实际使用

1、备份命令

pg_dump --host=172.16.5.66 --port=5432 --username=postgres --dbname=${2} --if-exists --clean --no-privileges --no-owner --file=./data/${2}/${2}_${time1}_bak.sql

2、shell脚本-删除文件夹并备份

#!/bin/bash
time1=$(date "+%Y%m%d")
sudo rm -rf ./data/${2}
sudo mkdir ./data/${2}
timer_start=`date "+%Y-%m-%d %H:%M:%S"`
sudo pg_dump --host=172.16.5.66 --port=5432 --username=postgres --dbname=${2} --if-exists --clean --no-privileges --no-owner --file=./data/${2}/${2}_${time1}_bak.sql >> pg_dump_execute.log
timer_end=`date "+%Y-%m-%d %H:%M:%S"`
duration=`echo eval $(($(date +%s -d "${timer_end}") - $(date +%s -d "${timer_start}"))) | awk '{t=split("60 s 60 m 24 h 999 d",a);for(n=1;n<t;n+=2){if($1==0)break;s=$1%a[n]a[n+1]s;$1=int($1/a[n])}print s}'`
echo "耗时: $duration"

3、删除前5日内容并备份

4、正确打印时间

(二)练习

1、命令输出追加到文件

echo "a new line" >> a.txt

2、获取命令输入的参数

#!/bin/sh
ps -ef | grep $1

3、格式化重定向到文本

#!/bin/sh
time_var=$(date "+%Y-%m-%d")
echo $time_var >> a.txt

4、计算日期差

#!/bin/sh
time_start=$(date)
sudo docker ps
ps -ef |grep docker
time_end=$(date)

time_diff=$($time_end-$time_start)

echo "共经过了"+$time_diff+"s"

【Linux】通过Crontab和shell脚本实现定期备份和删除PG数据库表数据的更多相关文章

  1. 《Linux命令行与shell脚本编程大全》第十五章 呈现数据

    15.1 理解输入和输出 现在知道两种显示脚本输出的方法 1)在显示器屏幕上显示 2)将输出文件重定向到文件中 15.1.1 标准文件描述符 Linux系统将每个对象当做文件处理.这包括输入和数出进程 ...

  2. Linux常用命令及shell脚本

    一.     用户管理(添加用户.切换用户.删除用户) ~                                                                        ...

  3. 自学Linux命令行与Shell脚本之路

    自学Linux命令行与Shell脚本之路[第一回]:初识Linux   1.1 自学Linux Shell1.1-Linux初识 1.2 自学Linux Shell1.2-Linux目录结构 1.3  ...

  4. 在Linux下如何用Shell脚本读写XML?现有一个config.xml(转)

    在Linux下如何用Shell脚本读写XML?现有一个config.xml <?xml version="1.0" encoding="UTF-8"?&g ...

  5. linux的基本操作(shell 脚本的基础知识)

    shell 脚本的基础知识 日常的linux系统管理工作中必不可少的就是shell脚本,如果不会写shell脚本,那么你就不算一个合格的管理员.目前很多单位在招聘linux系统管理员时,shell脚本 ...

  6. Linux命令行与shell脚本编程大全.第3版(文字版) 超清文字-非扫描版 [免积分、免登录]

    此处免费下载,无需账号,无需登录,无需积分.收集自互联网,侵权通知删除. 点击下载:Linux命令行与shell脚本编程大全.第3版 (大小:约22M)

  7. 《Linux命令行与shell脚本编程大全 第3版》创建实用的脚本---11

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:

  8. 《Linux命令行与shell脚本编程大全 第3版》高级Shell脚本编程---47

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:

  9. 《Linux命令行与shell脚本编程大全 第3版》Shell脚本编程基础---57

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:

  10. 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---57

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:

随机推荐

  1. Docker 与 Containerd 并用配置

    描述: 事实上,Docker 和 Containerd 是可以同时使用的,只不过 Docker 默认使用的 Containerd 的命名空间不是 default,而是 moby,此处为了更方便我们学习 ...

  2. Elastic:使用ElastAlert发送邮件通知

    转载自:https://blog.csdn.net/UbuntuTouch/article/details/105473542 文档地址:https://elastalert.readthedocs. ...

  3. Prometheus自身的监控告警规则

    1.先在 Prometheus 主程序目录下创建rules目录,然后在该目录下创建 prometheus-test.yml文件,内容如下: 内容很多,可以根据实际情况进行调整. 规则参考网址:http ...

  4. 使用docker-compose部署SonarQube

    sonarqube 安装 1.系统配置,避免启动问题 # 系统配置,避免启动问题 echo "vm.max_map_count=262144" >> /etc/sysc ...

  5. firewalld防火墙基本使用

    FirewallD 是 CentOS 7 服务器上默认可用的防火墙管理工具.基本上,它是 iptables 的封装,有图形配置工具 firewall-config 和命令行工具 firewall-cm ...

  6. js从数组中找到某个对象

    handel(ide) { let that = this; console.log(that.goodCaseList); let detailData = that.goodCaseList.fi ...

  7. 市面上erp软件那么多,为什么很多卖家选择定制erp?

    为什么选择定制ERP?适合自己的才是最好的啊!就连头部ERP企业提供给用户的ERP系统,应该也没有不进行个性化定制的吧,匹配很重要!规模不同.行业不同.发展阶段不同.生产模式不同.管理理念不同,适用的 ...

  8. C语言中这么骚的退出程序的方式你知道几个?

    C语言中这么骚的退出程序的方式你知道几个? 前言 在本篇文章当中主要给大家介绍C语言当中一些不常用的特性,比如在main函数之前和之后设置我们想要执行的函数,以及各种花式退出程序的方式. main函数 ...

  9. 齐博x1fun实例 鉴于很多人问列表的筛选怎么放到首页、内容页等等地方 贴出方法

    application\common\fun\Field.php 你可以复制一份 也可以直接改 直接改记得加锁 不然升级就覆盖了 我们把   public function list_filter($ ...

  10. DQL语句排序与分组

    DQL语句排序与分组 一.DQL-排序 排序是计算机内经常进行的一种操作,其目的是将一组"无序"的记录序列调整为"有序"的记录序列.分内部排序和外部排序,若整个 ...