gogs    2023-05-18 11:07:51    19    0    0

官方方法

除了分别打包gogs存储库,自定义和数据库之外,Gogs还提供了两个命令,用于统一备份,还原甚至迁移到另一个数据库引擎的过程。

备份

  1. # 没有任何标志,backup 命令会将所有 gogs-repository、custom 和 database 打包到当前目录下的单个 zip 存档中(例如 gogs-backup-xxx.zip)
  2. ./gogs backup
  3. # 如果您的gogs存储库包含GB的原始数据,这可能是一个坏主意,在这种情况下,您可以应用–exclude-repos标志
  4. ./gogs backup --exclude-repos
  5. # 如果你的 custom/conf/app.ini 不寻常,请确保像往常一样通过 –config 标志指定它:
  6. ./gogs backup --config=my/custom/conf/app.ini

数据库

  1. 如果你只对备份数据库感兴趣,或者想从一个数据库引擎(例如SQLite3)迁移到另一个引擎(例如MySQL),–database-only是你的朋友:
  2. ./gogs backup --database-only
  3. 数据库的备份格式是可移植的JSON文件,每个文件对应一个数据库表,你可以对这些文件做任何你想做的事情。

恢复

  1. 命令还具有指示仅还原数据库或备份存档中所有内容的标志:
  2. 如果表未显示在备份存档中,则当前数据库表中的任何内容将保持不变。
  3. ./gogs restore --database-only --from="gogs-backup-xxx.zip"
  4. 非标配置,要声明
  5. ./gogs restore --database-only --from="gogs-backup-xxx.zip" --config=my/custom/conf/app.ini

自定义配置文件

有 3 个步骤可以确定使用哪个自定义/conf/app.ini 命令:

使用您指定的标志 --config 。

使用存储在备份存档中的那个。

使用 $(pwd)/custom/conf/app.ini 中的那个。

如果所有3个步骤都失败了,对不起,无法执行还原过程。

  1. 1)每天晚上
无    2023-05-18 10:11:14    23    0    0

git拉取分支

git clone -b test https://git.com/xxx/xxx.git

Linux下git仓库保存帐号密码

在git仓库下运行
git config credential.helper store

无    2023-05-18 10:11:04    8    0    0

Git 仓库访问地址

http://gogs.xxx.xxx

生成Key

敲入命令一路回车

ssh-keygen

会在 $HOME/.ssh/下生成 id_rsa 和 id_rsa.pub 文件

配置本地git

$HOME/.ssh/config

  1. Host gogs.xxx.xxx
  2. HostName 192.168.1.123
  3. User git
  4. Port 10000
  5. IdentitiesOnly yes
  6. IdentityFile ~/.ssh/id_rsa

配置Git仓库

用户设置 -> SSH密钥 -> 增加密钥

复制 id_rsa.pub的内容到密钥内容部分

测试

ssh -T git@gogs.miz.so

提示如下则为成功

  1. Hi there, You've successfully authenticated, but Gogs does not provide shell access.
  2. If this is unexpected, please log in with password and setup Gogs under another user.
无    2023-04-19 10:58:21    13    0    0

WSL实现通过ssh连接

本文用的是microsoft store中下载的 Ubuntu22.x

配置好sudo

  1. #
  2. # This file MUST be edited with the 'visudo' command as root.
  3. #
  4. # Please consider adding local content in /etc/sudoers.d/ instead of
  5. # directly modifying this file.
  6. #
  7. # See the man page for details on how to write a sudoers file.
  8. #
  9. Defaults env_reset
  10. Defaults mail_badpass
  11. Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"
  12. # Host alias specification
  13. # User alias specification
  14. # Cmnd alias specification
  15. # User privilege specification
  16. root ALL=(ALL:ALL) ALL
  17. sanger ALL=(ALL:ALL) ALL
  18. # Members of the admin group may gain root privileges
  19. %admin ALL=(ALL) ALL
  20. # Allow members of group sudo to execute any command
  21. %sudo ALL=(ALL:ALL) ALL
  22. sanger ALL=(ALL) NOPASSWD: ALL
  23. # See sudoers(5) for more information on "#include" directives:
  24. #includedir /etc/sudoers.d

安装ssh

  1. apt remo
无    2023-04-14 15:14:34    7    0    0

iptables简介

无    2023-04-06 11:27:19    9    0    0

SSL A+ nginx配置

  1. # ssl 证书
  2. ssl_certificate /root/.acme.sh/*.zh3.fun/fullchain.cer;
  3. ssl_certificate_key /root/.acme.sh/*.zh3.fun/*.zh3.fun.key;
  4. # ssl验证相关配置
  5. ssl_session_timeout 5m; #缓存有效期
  6. ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4:!DH:!DHE; #加密算法
  7. # ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5; #淘宝使用加密算法
  8. ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #安全链接可选的加密协议
  9. ssl_prefer_server_ciphers on; #使用服务器端的首选算法
  10. add_header Strict-Transport-Security "max-age=31536000"; # HTST配置
无    2023-04-04 17:17:51    26    0    0

脑图

title

集群

命令 说明
GET /_cat/health?v 查看集群的健康状态。集群状态包括green、red、yellow,各状态的具体说明请参见查看集群健康状态。
GET /_cluster/health?pretty=true 查看集群的健康状态。pretty=true表示格式化输出。您也可以添加其他查询参数,例 如:
level=indices:显示索引状态。
level=shards:显示分片信息。
GET /_cluster/stats 查看集群的系统信息。包括CPU、JVM等信息。
GET /_cluster/state 查看集群的详细信息。包括节点、分片等信息。
GET /_cluster/pending_tasks 查看集群中堆积的任务。
GET /_cluster/settings 查看集群设置。

节点

命令 说明
GET /_cat/master?v 查看集群中Master节点的信息。
GET /_cat/nodes?v 查看集群中各个节点的当前状态。包括节点CPU使用率、HeapMemory使用率、负载情况等。
GET /_cat/nodeattrs?v 查看单节点的自定义属性。
GET /_nodes/stats?pretty=true 查看节点状态。
GET /_nodes/process 查看节点的进程信息。
GET /_nodes/hot_threads 查看高消耗的线程所执行的任务。
GET /_nodes//jvm,process,os 查看指定节点的JVM、进程和操作系统信息。
GET _cat/plugins?v 查看各节点的插件信息。
GET /_cat/thread_pool?v 查看各节点的线程池统计信息。包括线程池的类型、活跃线程数、任务队列大小等。

分片

无    2023-04-04 16:56:54    27    0    0

Elasticsearch

Elasticsearch 是一个开源的搜索引擎,建立在一个全文搜索引擎库 Apache Lucene™ 基础之上。 Lucene 可以说是当下最先进、高性能、全功能的搜索引擎库—​无论是开源还是私有。

但是 Lucene 仅仅只是一个库。为了充分发挥其功能,你需要使用 Java 并将 Lucene 直接集成到应用程序中。 更糟糕的是,您可能需要获得信息检索学位才能了解其工作原理。Lucene 非常 复杂。

Elasticsearch 也是使用 Java 编写的,它的内部使用 Lucene 做索引与搜索,但是它的目的是使全文检索变得简单, 通过隐藏 Lucene 的复杂性,取而代之的提供一套简单一致的 RESTful API。

然而,Elasticsearch 不仅仅是 Lucene,并且也不仅仅只是一个全文搜索引擎。 它可以被下面这样准确的形容:

一个分布式的实时文档存储,每个字段 可以被索引与搜索
一个分布式实时分析搜索引擎
能胜任上百个服务节点的扩展,并支持 PB 级别的结构化或者非结构化数据

Elasticsearch与关系数据的类比对应关系如下:

  1. Elasticsearch => Indices => Types => Documents => Fields
  2. Relational DB => Databases => Tables => Rows => Columns

整体概述图

title

Cluster

集群,一个ES集群由一个或多个节点(Node)组成,每个集群都有一个cluster name作为标识。

node

节点,一个ES实例就是一个node,一个机器可以有多个实例,所以并不能说一台机器就是一个node,大

Markdown red    2023-04-03 10:29:12    6    0    0
  1. ## 1. 排版
  2. **粗体** *斜体*
  3. ~~这是一段错误的文本。~~
  4. 引用:
  5. > 引用Leanote官方的话, 为什么要做Leanote, 原因是...
  6. 有充列表:
  7. 1. 支持Vim
  8. 2. 支持Emacs
  9. 无序列表:
  10. - 项目1
  11. - 项目2
  12. ## 2. 图片与链接
  13. 图片:
  14. ![leanote](http://leanote.com/images/logo/leanote_icon_blue.png)
  15. 链接:
  16. [这是去往Leanote官方博客的链接](http://leanote.leanote.com)
  17. ## 3. 标题
  18. 以下是各级标题, 最多支持5级标题
  19. \```
  20. # h1
  21. ## h2
  22. ### h3
  23. #### h4
  24. ##### h4
  25. ###### h5
  26. \`\``
  27. ## 4. 代码
  28. 示例:
  29. function get(key) {
  30. return m[key];
  31. }
  32. 代码高亮示例:
  33. \``` javascript
  34. /**
  35. * nth element in the fibonacci series.
  36. * @param n >= 0
  37. * @return the nth element, >= 0.
  38. */
  39. function fib(n) {
  40. var a = 1, b = 1;
  41. var tmp;
  42. while (--n >= 0) {
  43. tmp = a;
  44. a += b;
  45. b = tmp;
  46. }
  47. return a;
  48. }
  49. document.write(fib(10));
  50. \```
  51. \```python
  52. class Employee:
  53. empCount = 0
  54. def __init__(self, name, salary):
  55. self.name = name
  56. self.salary = salary
  57. Employee.empCount += 1
  58. \```
  59. # 5. Markdown 扩展
  60. Markdown 扩展支持:
  61. * 表格
  62. * 定义型列表
  63. * Html 标签
  64. * 脚注
  65. * todo list
  66. * 目录
  67. * 时序图与流程图
  68. * MathJax 公式
  69. ## 5.1 表格
  70. Item | Value
  71. -------- | ---
  72. Computer | \$1
无    2023-04-01 13:29:01    18    0    0

一、计算机网络的发展历程

1、计算机网络发展

  与其说计算机改变了世界,倒不如说是计算机网络改变了世界。彼时彼刻,你我都因网络而有了交集,岂非一种缘分?
  计算机与网络发展大致经历如下过程:
  
title

2、计算机的模式变化

  起初的计算机主要以“单机”形式存在,计算机之间没有通信可言,而网络的出现才真正让计算机变得与以往的工具不同,信息的共享和交流让计算机成为划时代的产物。网络按照规模可划分为:

  • 局域网(LAN):
    局域网是某一区域内由多台计算机互联成的计算机组。一般在几公里范围内。
  • 广域网(WAN):
    广域网的范围很大,几十公里到几千公里,可以是一个区域的计算机网也可能是整个国家的计算机网。
      
    注:我们常见的WLAN是LAN的一种,称为无线局域网。在无线局域网WLAN发明之前,人们要想通过网络进行联络和通信,必须使用物理线缆-铜绞线或光纤进行物理线路连接,但这样的局域网转载和拆卸都很麻烦。随着网络的发展,人民利用射频(Radio Frequency; RF)的技术,使用电磁波进行网络架构,实现了无线局域网互联,让信息随身化。

二、各种协议

1、协议的重要性

  计算机之间要实现通信,除了技术支持还需要一些规则来进行信息匹配,方能进行交流。

8/14