#!/bin/bash # PostgreSQL 交互式数据库导出脚本 # 使用方式: ./export_db.sh # 定义颜色代码 RED='\033[0;31m' GREEN='\033[0;32m' YELLOW='\033[1;33m' NC='\033[0m' # 恢复默认颜色 # 打印带颜色的状态消息 function echo_status() { echo -e "${YELLOW}[*] $1${NC}" } function echo_success() { echo -e "${GREEN}[√] $1${NC}" } function echo_error() { echo -e "${RED}[x] $1${NC}" >&2 } # 清除敏感信息 function cleanup() { unset PGPASSWORD echo_status "已清除数据库凭据" } # 捕获退出信号 trap cleanup EXIT # 交互
清空日志脚本 logback.sh在项目所在文件夹创建lobback.sh脚本和logback文件夹#!/bin/bash ## commit 20211123 xijingming #获取文件运行的当前目录 CURPATH=$(cd "$(dirname "$0")"; pwd) cd $CURPATH #baklogdir is exists logback_root_dir=logback now=`date +%F` logfile=`find ./ -depth -mindepth 2 -maxdepth 4 -name '*.log' -type f|grep -v logback` for logfilename in ${logfile} do projectname=`echo ${logfilename}|awk -F '/' '{print $2}'` if [ ! -d ${logback_root_dir}/${projectname}/${now} ] then mkdir
架构1:团队协助基础工具链的选型和培训团队协助基础工具链, 主要是三大管理项目管理任务管理问题管理架构2:搭建微服务开发基础设施搭建微服务开发基础设施需要考虑多个方面,包括但不限于以下几点:选择合适的微服务框架和技术栈:目前比较流行的微服务框架有 Spring Cloud、Go-Micro、gRPC等,选择适合自己团队技术栈的框架非常重要。选择合适的RPC框架构建基础设施:包括但不限于服务注册与发现、负载均衡、API 网关、分布式配置中心、分布式锁、消息队列等。安全:包括但不限于服务间通信的加密、访问控制、身份认证等。常见的微服务框架和技术栈包括:Spring Cloud:适用于 Java 开发团队,具有丰富的功能和社区支持。Go Micro:适用于 Go 开发团队,具有高性能和简单易用的特点。Node.js + Express:适用于 JavaScript 开发团队,具有轻量级和快速开发的特点。Kubernetes:适用于需要高可用性和弹性的微服务架构,可以支持多种编程语言和框架。Istio:适用于需要服务网格功能的微服务架构,可以提供流量管理、安全性和可观察性等功能。建议选用 Sp
备份特定范围数据备份schemapg_dump -U postgres -d postgres --schema=public > back1.sql备份指定表pg_dump -U postgres -d postgres -t public.t_oil >t_oil.sql另外还有其他几个常用参数:pg_dump -U postgres -W -F t dvdrental > c:\pgbackup\dvdrental.tar-U postgres 指定用户连接数据库服务器,这里是 postgres-W 强制 pg_dump 在连接数据库服务器之前提示密码-F 指定输入文件格式:c: 自定义归档文件格式d: 目录方式归档,创建目录包括每个表对应一个文件t: tar压缩文件格式p: 普通SQL文本备份其他数据库对象通过 pg_dumpall 命令备份全部数据库对象:pg_dumpall -U postgres > c:\pgbackup\all.sql仅备份scheam定义:pg_dumpall --schema-only > c:\pgdump\defi
go语言一个大的语言特色就是goroutine协程,而和很多同事沟通的时候,他们都认为goroutine很快,今天我们就来看一看goroutine是如何运行的。MPG模型go使用的是MPG模型,意思是通过一个全局的调度器来实现goroutine协程的调度,来达到通过分配平均使用CPU资源。go的调度器有3个重要的结构,M(OS线程)、P(协程调度器),G(goroutine协程)M(OS线程):是操作系统的线程,一个程序可以模拟出多个线程。P(逻辑处理器or协程调度器):这个一个专门调度goroutine协程的逻辑处理器,或者称为协程调度器都可以。G(goroutine协程):goroutine协程。用户空间线程和内核空间线程之间的映射关系有:N:1、1:1和M:NN:1,多个(N)用户线程始终在一个内核线程上跑,context上下文切换确实很快,但是无法真正的利用多核。1:1,一个用户线程就只在一个内核线程上跑,这时可以利用多核,但是上下文switch很慢。M:N,多个goroutine在多个内核线程上跑,这个看似可以集齐上面两者的优势,但是无疑增加了调度的难度。而go使用的就是M:
Xinbo