简介
Atuin 使用 SQLite 数据库取代了你现在拥有的 shell 历史,并为你的命令记录了额外的内容。此外,它还通过 Atuin 服务,在机器之间提供可选的、完全加密的历史记录同步功能。
简单来说就是可以在你的多台机器之间同步你输入过的命令,很不错,应该会作为我的一个长期服务一直玩下去,所有的命令在数据库中都是加密的,所以不用担心安全问题,下面是官网
https://atuin.sh/
操作
虽然atuin提供了他的k8syaml的文件但是我还是使用我自己写的
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: atuin
namespace: app
spec:
selector:
matchLabels:
app: atuin
serviceName: atuin
replicas: 1
template:
metadata:
labels:
app: atuin
spec:
containers:
- name: atuin
image: ghcr.io/ellie/atuin:14.0.1
args:
- "server"
- "start"
env:
- name: ATUIN_HOST
value: "0.0.0.0"
- name: ATUIN_PORT
value: "8888"
- name: ATUIN_OPEN_REGISTRATION
value: 'true'
- name: ATUIN_DB_URI
value: postgres://xxx:xxx@xxxx/atuin
volumeMounts:
- name: atuin-data
mountPath: /config
ports:
- containerPort: 8888
name: web
volumeClaimTemplates:
- metadata:
name: atuin-data
spec:
accessModes:
- ReadWriteOnce
storageClassName: managed-nfs-storage
resources:
requests:
storage: 200Gi
解释下环境变量参数
- ATUIN_HOST: 监听的主机,这里就直接0.0.0.0吧
- ATUIN_PORT: 端口
- ATUIN_OPEN_REGISTRATION: 是不是开放注册
- ATUIN_DB_URI: postgresql数据库地址,创建完数据库之后,默认的表结构什么的会在程序启动的时候自动创建
apiVersion: v1
kind: Service
metadata:
name: atuin
namespace: app
spec:
type: ClusterIP
selector:
app: atuin
ports:
- port: 80
targetPort: 8888
name: http
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: atuin-ingress
namespace: app
annotations:
kubernetes.io/ingress.class: "nginx"
nginx.ingress.kubernetes.io/ssl-passthrough: "true"
nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
spec:
rules:
- host: "atuin.xxx.cn"
http:
paths:
- pathType: Prefix
path: "/"
backend:
service:
name: atuin
port:
number: 80
tls:
- hosts:
- atuin.xxx.cn
secretName: atuin-xxx-cn-tls
创建完成服务器之后就是在shell上安装atuin,我的是mac使用的是zsh
brew install atuin
安装完成之后配置zsh
echo 'eval "$(atuin init zsh)"' >> ~/.zshrc
之后重新打开一个zsh会话
配置自己的服务器
vim ~/.config/atuin/config.toml
sync_address = "https://atuin.xxx.cn"
注册一个账号
atuin register -u xxx -e [email protected] -p xxx
登录
atuin login -u xxx -p xxx
如果你想登录到另外一台机器,那么还需要一个密钥,密钥在第一台机器的
cat ~/.local/share/atuin
倒入zsh的命令历史记录
atuin import zsh
同步
atuin sync
查看命令报告
atuin stats
[▮▮▮▮▮▮▮▮▮▮] 3947 ls
[▮▮▮▮ ] 1659 cd
[▮▮▮ ] 1224 ssh
[▮▮▮ ] 1192 git push
[▮▮ ] 1152 git add
[▮▮ ] 840 git commit
[▮ ] 636 vim
[▮ ] 398 bash
[ ] 380 git pull
[ ] 350 curl
Total commands: 17222
Unique commands: 4322
登出
atuin logout
默认搜索的快捷键是方向键上键,和ctrl +r
当你找到命令之后直接回车就好了
其他的貌似也没有什么可以玩的
欢迎关注我的博客www.bboy.app
Have Fun