运用JupyterNotebook进行系统管理

编程

Jupyter Notebook可以将系统信息作为页面进行展示,将python等信息和shell等执行工具集成到统一的页面(参考《IPython 6/Jupyter的magic操作符》、 IPython的Magics魔法操作符),从而提供一个完整的自定义动态视图。Jupyter Notebook Server还提供Text/HTML/Markdown/JSON/YAML等多种文档编辑器以及可以打开多个并随意布局的Web shell支持,不仅可用于数据分析,也是系统管理、维护的利器。

上图,在Notebook中运行GlusterFS存储系统和Kubernetes的管理工具。

1、安装步骤

包括:

  • JupyterLab的本地安装和使用(Ubuntu 18.04)
  • 将Jupyter/JupyterHub/JupyterLab运行为系统服务
  • Jupyter notebook中的sudo问题详解

2、使用方法

Jupyter Notebook是在服务器上运行的,默认是安装(或服务)的账号。因此,所有的状态是持续的,上次打开的窗口下次在任何地方打开都是上次的状态,如果多个页面同时打开,普通页面可以刷新同步,终端shell是自动更新的。

Python代码

普通的python代码在打开notebook后,输入代码,按shift+enter键即可运行。

控制台脚本

使用!来运行单行shell脚本,可以使用&&连接。如:

!uname -a && ls -l 

使用%%sh来运行多行shell脚本。如:

%%sh

echo "系统信息:"

unname -a

echo "当前目录:"

ls -l

  • 注意,不能有要求交互输入的部分,否则会挂起,需要按照下面的方法解决。

sudo命令

如果需要sudo执行,因为需要提示输入密码,需要一些技巧。

  • 使用sudo -S参数和管道,如下所示:

echo password | sudo -S cat /etc/fstab

  • 使用sshpass(需要单独安装,运行sudo apt install sshpass),如下所示:

sshpass -p password sudo cat /etc/fstab

编写python程序从页面获取输入或者从文件、从网络服务商读取配置参数也都是可行的,只是稍微复杂一些,对于大型系统能够提高效率。额可以将以前的一些工具整合到Jupyter Notebook这个界面来运行。

制作好的Notebook是可以拿来共享的,分享之前注意删除掉一些私有的信息。

以上是 运用JupyterNotebook进行系统管理 的全部内容, 来源链接: utcz.com/z/512565.html

回到顶部