除了分别打包gogs存储库,自定义和数据库之外,Gogs还提供了两个命令,用于统一备份,还原甚至迁移到另一个数据库引擎的过程。
# 没有任何标志,backup 命令会将所有 gogs-repository、custom 和 database 打包到当前目录下的单个 zip 存档中(例如 gogs-backup-xxx.zip)
./gogs backup
# 如果您的gogs存储库包含GB的原始数据,这可能是一个坏主意,在这种情况下,您可以应用–exclude-repos标志
./gogs backup --exclude-repos
# 如果你的 custom/conf/app.ini 不寻常,请确保像往常一样通过 –config 标志指定它:
./gogs backup --config=my/custom/conf/app.ini
如果你只对备份数据库感兴趣,或者想从一个数据库引擎(例如SQLite3)迁移到另一个引擎(例如MySQL),–database-only是你的朋友:
./gogs backup --database-only
数据库的备份格式是可移植的JSON文件,每个文件对应一个数据库表,你可以对这些文件做任何你想做的事情。
命令还具有指示仅还原数据库或备份存档中所有内容的标志:
如果表未显示在备份存档中,则当前数据库表中的任何内容将保持不变。
./gogs restore --database-only --from="gogs-backup-xxx.zip"
非标配置,要声明
./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)每天晚上
git clone -b test https://git.com/xxx/xxx.git
在git仓库下运行
git config credential.helper store
敲入命令一路回车
ssh-keygen
会在 $HOME/.ssh/下生成 id_rsa 和 id_rsa.pub 文件
$HOME/.ssh/config
Host gogs.xxx.xxx
HostName 192.168.1.123
User git
Port 10000
IdentitiesOnly yes
IdentityFile ~/.ssh/id_rsa
用户设置 -> SSH密钥 -> 增加密钥
复制 id_rsa.pub的内容到密钥内容部分
ssh -T git@gogs.miz.so
提示如下则为成功
Hi there, You've successfully authenticated, but Gogs does not provide shell access.
If this is unexpected, please log in with password and setup Gogs under another user.
本文用的是microsoft store中下载的 Ubuntu22.x
#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults env_reset
Defaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"
# Host alias specification
# User alias specification
# Cmnd alias specification
# User privilege specification
root ALL=(ALL:ALL) ALL
sanger ALL=(ALL:ALL) ALL
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
sanger ALL=(ALL) NOPASSWD: ALL
# See sudoers(5) for more information on "#include" directives:
#includedir /etc/sudoers.d
apt remo
# ssl 证书
ssl_certificate /root/.acme.sh/*.zh3.fun/fullchain.cer;
ssl_certificate_key /root/.acme.sh/*.zh3.fun/*.zh3.fun.key;
# ssl验证相关配置
ssl_session_timeout 5m; #缓存有效期
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4:!DH:!DHE; #加密算法
# ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5; #淘宝使用加密算法
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #安全链接可选的加密协议
ssl_prefer_server_ciphers on; #使用服务器端的首选算法
add_header Strict-Transport-Security "max-age=31536000"; # HTST配置
命令 | 说明 |
---|---|
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 | 查看各节点的线程池统计信息。包括线程池的类型、活跃线程数、任务队列大小等。 |
Elasticsearch 是一个开源的搜索引擎,建立在一个全文搜索引擎库 Apache Lucene™ 基础之上。 Lucene 可以说是当下最先进、高性能、全功能的搜索引擎库—无论是开源还是私有。
但是 Lucene 仅仅只是一个库。为了充分发挥其功能,你需要使用 Java 并将 Lucene 直接集成到应用程序中。 更糟糕的是,您可能需要获得信息检索学位才能了解其工作原理。Lucene 非常 复杂。
Elasticsearch 也是使用 Java 编写的,它的内部使用 Lucene 做索引与搜索,但是它的目的是使全文检索变得简单, 通过隐藏 Lucene 的复杂性,取而代之的提供一套简单一致的 RESTful API。
然而,Elasticsearch 不仅仅是 Lucene,并且也不仅仅只是一个全文搜索引擎。 它可以被下面这样准确的形容:
一个分布式的实时文档存储,每个字段 可以被索引与搜索
一个分布式实时分析搜索引擎
能胜任上百个服务节点的扩展,并支持 PB 级别的结构化或者非结构化数据
Elasticsearch => Indices => Types => Documents => Fields
Relational DB => Databases => Tables => Rows => Columns
集群,一个ES集群由一个或多个节点(Node)组成,每个集群都有一个cluster name作为标识。
节点,一个ES实例就是一个node,一个机器可以有多个实例,所以并不能说一台机器就是一个node,大
## 1. 排版
**粗体** *斜体*
~~这是一段错误的文本。~~
引用:
> 引用Leanote官方的话, 为什么要做Leanote, 原因是...
有充列表:
1. 支持Vim
2. 支持Emacs
无序列表:
- 项目1
- 项目2
## 2. 图片与链接
图片:

链接:
[这是去往Leanote官方博客的链接](http://leanote.leanote.com)
## 3. 标题
以下是各级标题, 最多支持5级标题
\```
# h1
## h2
### h3
#### h4
##### h4
###### h5
\`\``
## 4. 代码
示例:
function get(key) {
return m[key];
}
代码高亮示例:
\``` javascript
/**
* nth element in the fibonacci series.
* @param n >= 0
* @return the nth element, >= 0.
*/
function fib(n) {
var a = 1, b = 1;
var tmp;
while (--n >= 0) {
tmp = a;
a += b;
b = tmp;
}
return a;
}
document.write(fib(10));
\```
\```python
class Employee:
empCount = 0
def __init__(self, name, salary):
self.name = name
self.salary = salary
Employee.empCount += 1
\```
# 5. Markdown 扩展
Markdown 扩展支持:
* 表格
* 定义型列表
* Html 标签
* 脚注
* todo list
* 目录
* 时序图与流程图
* MathJax 公式
## 5.1 表格
Item | Value
-------- | ---
Computer | \$1
与其说计算机改变了世界,倒不如说是计算机网络改变了世界。彼时彼刻,你我都因网络而有了交集,岂非一种缘分?
计算机与网络发展大致经历如下过程:
起初的计算机主要以“单机”形式存在,计算机之间没有通信可言,而网络的出现才真正让计算机变得与以往的工具不同,信息的共享和交流让计算机成为划时代的产物。网络按照规模可划分为:
计算机之间要实现通信,除了技术支持还需要一些规则来进行信息匹配,方能进行交流。