[Linux|Tmux]早先写的一个用于备份/恢复 tmux sessions 的, tmux 用户可以试试

2014-07-31 21:36:01 +08:00
 KentY
项目主页: https://github.com/sk1418/retmux

自己用了多半年了觉得还行
大概功能:

#Features

- configurable options for (logging, ANSI escapes)
- (non- or) interactive operations (list/delete/restore/backup)
- highlighted output
- most important: tmux sessions backup and restore :)

#What can be backuped/restored?

- sessions : with names, terminal-size
- windows : with name, order, pane split and split layout
- panes : with path and content(up to 100000 line history content) with same look and feel (ANSI escapes)


#What would NOT be backuped/restored?

- the processes/programs running in window or pane at backup time
- the logined user, if the user is not same as the user who started tmux.(e.g. after su)
- command history in each window
- buffer stacks (could be done, but didn't see the need)

简单那中文解释就是能备份我们tmux所创建的session, windows, window name, layout, pane layout, 以及每个window/pane的当前路径, 和里面的文字(保持高亮), 以后可恢复.

可以自己定义备份的名字, 恢复时选择恢复, 具体信息请看主页, 自己试验下就知道了, 没什么依赖要安装.
4039 次点击
所在节点    分享创造
9 条回复
tontinme
2014-08-01 16:56:10 +08:00
这么好的分享,赞一个。顺便升级了下python和tmux,不兼容低版本的python和tmux
KentY
2014-08-01 17:47:18 +08:00
@tontinme

谢谢试用. 在项目页面写了retmux的开发/运行环境.

tmux 不同版本都有或大或小的新功能. 当用retmux去备份/恢复一个功能, 你当前tmux版本不具备,自然就出问题了. :)

再说, 一般用tmux的都是每天必用, 更新还是必要的吧.
terrortang
2014-08-04 10:39:59 +08:00
我一直用一个sh,https://github.com/mislav/dotfiles/blob/9a9de5ccd0a89480936acaf5333cf7b288e3fa82/bin/tmux-session , 自己稍微改了一下,还比较方便
KentY
2014-08-04 15:43:59 +08:00
@terrortang

我是个比较懒的人, 在我写retmux之前, 我曾经查找或试用过挺多类似的. 包括你那个. 但是都不怎么满意, 才不得已got hand dirty....

这个我写好后, 半年多,只修改过小bug, 没加什么新功能, 因为我自己用着比较满意了.

如果你仔细比较, 我的这个还有你引用的那个在功能上还是有挺多不同的.
terrortang
2014-08-04 15:54:14 +08:00
@KentY 对,的确是。我也是比较懒,当初就找了这个,然后其实平时用的最多的就是save session和restore session,就也没有多做添加,就在我引用的那个上面改了一下兼容性.
KentY
2014-08-04 16:25:24 +08:00
@terrortang 也许和tmux使用习惯有关. 我习惯在window里分pane, 所以如果tmux server重启, 我希望恢复到一个和以前"相同(read 最相似)"的环境, 比如pane分布布局, pane/win中的当前路径, 以及pane/win中的内容.因为有常选择输出的文字.

可能也正因为这些习惯/需求, 我才"不得不"自己写了个retmux.. :)
jprovim
2014-08-05 02:59:49 +08:00
@kenty, 以前也用過你的, 但是發現了一個更好的, 叫tmuxinator, 你肯定是很喜歡的.
KentY
2014-08-05 16:29:45 +08:00
@jprovim

这个我知道. 也用过一阵. 和retmux有类似的地方也有不同. 相同的都是,可以快速便捷地启动/恢复tmux session(s). 包括里面的东西. 但着眼点不同,tmuxinator是快速启动一个预定义的session;retmux是尽可能恢复到备份时的tmux server的最相似状态.

tmuxinator > retmux的:

- session等信息保存在配置文件(文本), 修改起来相对方便
- 可以启动默认进程, 比如git/ssh之类的

retmux > tmuxinator:

- 目的是恢复到保存时最相似的tmux环境,所以备份(或说导出成project)容易, 不用编辑配置文件(也有文件json格式),只在tmux里弄好了, tmux -b 马上备份一个. 或知道server要重启了, tmux -b一个
- 恢复不是某个session, 而是备份时tmux server的sessions
- tmux窗口的内容文字也被恢复,保持高亮
- 有interactive mode, 帮助管理(查看, 恢复, 删除)详细备份列表
freestyle
2017-03-24 11:24:07 +08:00
cool 已 star

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/125504

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX