在线代写各种 shell 小脚本:我就想看看都有哪些好玩的需求

2020-08-25 20:01:41 +08:00
 calmzhu
不管是

服务器管理的,
或者各位使用 Linux 觉得需要有些功能的。。
都行。


免费写的玩,不要太长的。
6430 次点击
所在节点    程序员
61 条回复
calmzhu
2020-08-26 13:02:27 +08:00
@stille
看一下这个
https://paste.ubuntu.com/p/9QtnkSYnN3/

先 find 找到所有符合后缀的文件。
然目标目录中不存在的直接 mv
存在的则跟据文件原来全路径把“/”替换成“_"重新命名,比如
/a/b/c/d.sh --> /targetdir/_a_b_c_d.sh
calmzhu
2020-08-26 13:14:45 +08:00
@Dihambo
这个先放着。百度好像有限制。我之后看看


@Lufs Unicode 定义的那个 emoji? 查下 Unicode 里面 emoji 对应的码范围。binary 模式直接改字节应该可以


@xurunfei
properties 完整规范不熟悉的。我只知道基础的 string=string 这种。

先跑一下这个命令 find . -name "*.properties" -exec grep -vE '^(\S.*=|#|$)' {} \;
看一下,去除#开头注释行,空行,string=string 的行还有啥 内容
lxk11153
2020-08-26 13:22:00 +08:00
@calmzhu #38 哈,那来一个我的: 执行后能有人往 xhgxa.ml 里打钱的 [doge]
calmzhu
2020-08-26 13:25:23 +08:00
@lxk11153 这二维码太讨厌了,挡着我看美女背景板
stille
2020-08-26 15:58:17 +08:00
@calmzhu 谢谢,可用.
首行改为了 target_dir=$(dirname $(readlink -f $0))
就可以在当前文件夹来执行 sh 了.
T5eng
2020-08-26 16:03:24 +08:00
传入集群 IP 列表<10.0.0.1, 10.0.0.2, 10.0.0.3, ... >,
通过 shell 脚本配合 Docker 或 Docker Compose 启动 zookeeper 集群和 kafka 集群.

能做到吗?麻烦吗?
calmzhu
2020-08-26 16:37:11 +08:00
@T5eng
zookeeperv 不熟。
K8S 部署过 kafka
但是这个重点不在 shell 啊。就是集群的安装步骤命令啊。

然后传一下集群 IP 地址
x97bgt
2020-08-26 20:15:03 +08:00
跳板机的 IP 和密码都在剪贴板中,运行脚本就可以自动登录。同时在跳板机里进一步登录,进入服务器(命令也是 ssh user@x.x.x.x,然后输入密码)

这个有办法实现不?
xcstream
2020-08-26 20:17:14 +08:00
从国内源 一键下载 python node java 等编程软件
calmzhu
2020-08-26 20:30:05 +08:00
@x97bgt 这个直接用 ssh config 更省事,跳转的化用 ProxyCommand


@xcstream 这个整个操作系统做镜像吧,亲。
x97bgt
2020-08-26 20:53:07 +08:00
@calmzhu ssh config 可以监听剪贴板?关键是每次获取的的跳板机 ip 与密码都不一样,手动敲入很烦。
calmzhu
2020-08-26 22:34:47 +08:00
@x97bgt
可以用 exepct 应答加 剪贴板工具。

在 mac 测试了下。下面的脚本是可以的
https://paste.ubuntu.com/p/TgXYp9kmmt/

先说思路。具体实现要根据你的剪贴板格式,系统,用户名改。还有判断下可能的异常

1. 用 pbpaste(mac) xclip(linux)等工具获得剪贴板内容。并解析出用户名密码主机地址

2. expect 中用 spawn 启动 ssh 连接进程。然后自动应答帐户 /密码 /主机确认这些

3.进入交互模式,也就是 ssh 命令行。
baobao1270
2020-08-27 02:55:23 +08:00
1 、Minecraft 服务器管理,比如封号踢人什么的
2 、Lets Encrypt 证书跨服务器同步脚本(用 scp 命令)
3 、云服务器 Linux DD 到 Windows Server
qwerthhusn
2020-08-27 09:59:46 +08:00
来个脚本,谢谢 https://paste.ubuntu.com/

./replacefile.sh <dirFrom> <dirTo>
读取 dirFrom 下的文件( dirFrom 下面不会有文件夹,如果有直接报错,只有文件)

然后在 dirTo 下搜索重名的文件(可能有多层目录),如果在 dirTo 下面正好匹配上且只有一个,就把这个文件替换过去,如果匹配到多个或者没有匹配到,就打印一个警告。

示例:dirFrom/1.txt
dirTo/a/b/c/d/1.txt ,就把 dirFrom/1.txt 覆盖到 dirTo/a/b/c/d/下面
lllllliu
2020-08-27 11:32:29 +08:00
打包文件加,按日期命名并发送邮件。。
还有 MYSQL 备份脚本?
calmzhu
2020-08-27 13:34:54 +08:00
@baobao1270

1. Minecraft 这个封装 api (如果有的化)吧
2. 你都已经答了 scp 吧。
3. dd + scp 吧。大就多 dd+scp 几次


@qwerthhusn
你这是要个文件夹比较工具吧。diff?


@lllllliu
没有细节写不了代码。
打包文件这个,tar + date + email 几个命令串一下就可以了

MYSQL 备份的化。不大用 mysqldump 到 sql 。大的化走 bin 文件备份
calmzhu
2020-08-27 13:38:24 +08:00
@qwerthhusn
然后匹配的化。算不算路径输结构。

比如 dirTo/a/a.txt dirTo/b/a.txt 这种是希望 dirTo 的 copy 过去,还是在 dirB 里面建一个 a/a.txt 的结构。
dijia478
2020-08-27 15:14:55 +08:00
写个定时任务,每周去 http://117.39.29.75:8085/pricePublic/house/public/index 网站拉下来所有房价,按照每 10 平米一个区间,统计每个区间的均价。随着执行次数,最后汇总出趋势图
stebest
2020-08-27 17:46:17 +08:00
@aheadlead xxd 命令直接转
qwerthhusn
2020-08-27 21:29:26 +08:00
@calmzhu 不是文件夹比较工具,说一下情况,你就明白啥意思了
我是 Java 开发,现在项目本地不能跑,只能放在服务器上,但是 Spring Boot 打包到上传又太久,经常需要改一点代码,更新应用,重启,有问题继续改。。。所以把应用摊开了。对于改动很小时,可以替换个 class 文件

在本地我都是直接用 everything 搜到那个 XXXService.class YYYService.class,然后替换到 app/classes/com/example/xxx/service/XXXService.class 和 app/classes/com/example/yyy/service/XXXService.class

现在我想直接把 XXXService.class 和 YYYService.class 放在某个固定的目录
然后脚本自己去 app/目录找同名的文件(判断应该只有一个匹配,如果有多个肯定就不能这么搞了)然后自动将这两个文件放到指定的目录下

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

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

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

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

© 2021 V2EX