【ubuntu】本地访问ubuntu服务器的jupyter文件,.ipynb误删除找回、恢复

本文讲述了在Ubuntu服务器上使用Docker映射访问Jupyter notebook时,如何通过浏览器缓存恢复误删的.ipynb文件,涉及提取Edge缓存、转json处理及文件格式转换步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【ubuntu】本地访问ubuntu服务器的jupyter文件,.ipynb误删除找回、恢复

本文大部分基于博客《灾难恢复:jupyter notebook 文件误删,.ipynb以及.py恢复》,万分感谢,本文仅在此补充一些细节


由于本人编辑jupyter采用的是远程ubuntu服务器上的docker映射到本地浏览器访问,因而在jupyter中删除后似乎没有办法找到(能不能再服务器上找到至少本人还不知道),因而采用上述博客的从本地浏览器的cache文件回复的办法。本地为win10系统。

提取浏览器cache文件

本人采用的是Edge浏览器,cache文件的位置在C:\Users\用户名\AppData\Local\Microsoft\Edge\User Data\Default\Cache\Cache_Data。在此处打开git bash命令窗口,使用二进制查找你代码里最独特的内容“my_unique_code”。找到ipynb文件的本地缓存文件。

grep -r -u "my_unique_code" .

只有一个文件匹配到:

Binary file ./data_2 matches

将文件转为json并处理为ipynb格式

实际上上文grep命令会输出可读的文件内容,似乎用UltraEdit等软件也能打开该二进制文件但本人并不熟悉。作者采用的是直接稍微上文的命令,将输出重定向到其他文件中:

 grep -r -u "my_unique_code" . &> output.txt

并将输出内容中的json内容拷贝到参考博客中推荐的JSON Editor Online编辑器进行处理。处理为如下格式:

{
    "cells": [
      {
        "execution_count": 1,
        ......
      },
    "nbformat": 4,
    "nbformat_minor": 5
}

即将头部和尾部红框中的内容删除。
在这里插入图片描述
在这里插入图片描述
最后将文件名后缀改为.ipynb即可。

<think>好的,我现在需要帮助用户解决在本地PyCharm中使用远程Linux服务器上的Jupyter Notebook的问题。首先,我得回顾一下自己之前学过的相关知识,确保步骤正确。 用户的需求很明确:通过本地的PyCharm访问并运行服务器上的Jupyter文件。我需要分步骤解释如何配置PyCharm和服务器环境,可能还需要考虑不同的方法,比如使用SSH连接或者配置远程解释器。 首先想到的是,Jupyter通常运行在服务器的某个端口上,比如默认的8888。但直接访问可能需要端口转发或者设置SSH隧道。另外,PyCharm专业版有远程开发的功能,而社区版可能没有,所以需要确认用户使用的版本。不过用户的问题中没有提到版本,可能需要给出两种情况的解决方案,或者假设用户有专业版。 另一个方法是配置PyCharm的远程解释器,让代码在服务器上执行,但文件保存在本地。但用户可能希望直接操作服务器上的文件,这可能需要配置远程解释器并结合部署功能。 接下来,步骤可能包括: 1.服务器上安装并启动Jupyter Notebook,确保可以远程访问。可能需要指定IP和端口,关闭密码或设置token,以及配置防火墙。 2. 在PyCharm中配置SSH隧道,进行端口转发,使得本地可以通过localhost的某个端口访问服务器Jupyter服务。 3. 或者使用PyCharm的专业版功能,设置远程解释器,并配置Jupyter服务器地址,这样可以直接在IDE中运行notebook。 另外,可能还需要考虑文件同步的问题,用户可能需要编辑服务器上的文件,所以PyCharm的部署配置可以帮助自动同步本地和远程的文件。 可能的步骤分解: - 服务器端设置:安装Jupyter,运行Jupyter Notebook,允许外部访问,处理防火墙设置。 - PyCharm配置SSH隧道,创建端口转发,使得本地浏览器或PyCharm可以通过localhost访问。 - 或者在PyCharm中设置远程Jupyter服务器,输入服务器的地址和端口,可能需要身份验证(token或密码)。 - 另外,配置远程Python解释器,让PyCharm在远程执行代码,同时使用远程的Jupyter内核。 需要详细说明每个步骤的具体操作,比如如何修改Jupyter的配置,如何生成配置文件,设置密码或token,以及如何在PyCharm中添加远程解释器或Jupyter服务器。 可能遇到的问题包括防火墙阻止端口,Jupyter配置不正确导致无法远程访问,SSH隧道配置错误,或者PyCharm版本不支持某些功能。需要提醒用户检查这些点,比如确认端口开放,检查Jupyter运行时的日志,确保SSH连接正常等。 此外,安全方面需要注意,直接开放Jupyter的端口到公网可能有风险,建议使用SSH隧道或者VPN,而不要将Jupyter暴露在公网上。因此,在步骤中强调使用SSH隧道会更安全。 总结下来,回答的结构可能是: 1. 服务器端配置Jupyter Notebook 2. 配置SSH隧道进行端口转发 3. 在PyCharm中连接远程Jupyter服务器 4. (可选)配置远程解释器和文件同步 需要逐步解释每个步骤,给出具体的命令和操作路径,例如修改jupyter_notebook_config.py文件,运行jupyter notebook的命令参数,PyCharm中的设置位置等。</think>你可以通过以下步骤在本地 PyCharm 中访问并运行远程 Linux 服务器上的 Jupyter Notebook: --- ### **1. 服务器端准备** #### **1.1 安装 Jupyter Notebook(若未安装)** ```bash pip install jupyter notebook ``` #### **1.2 配置 Jupyter 允许远程访问** - 生成配置文件(若首次使用): ```bash jupyter notebook --generate-config ``` - 修改配置文件 `~/.jupyter/jupyter_notebook_config.py`: ```python c.NotebookApp.ip = '0.0.0.0' # 允许所有IP访问 c.NotebookApp.port = 8888 # 指定端口(默认8888) c.NotebookApp.open_browser = False # 关闭自动打开浏览器 c.NotebookApp.token = '' # 可选:禁用token(建议设置密码代替) c.NotebookApp.password = 'sha1:...' # 可选:设置密码(通过jupyter notebook password生成) ``` #### **1.3 启动 Jupyter Notebook** ```bash jupyter notebook --no-browser ``` - 保持服务运行,记录输出的 URL(如 `http://服务器IP:8888/?token=xxx`)。 #### **1.4 确保防火墙开放端口** ```bash sudo ufw allow 8888 # Ubuntu/Debian ``` --- ### **2. 本地 PyCharm 连接远程 Jupyter** #### **方法一:通过 SSH 隧道(安全推荐)** 1. **建立 SSH 端口转发**: ```bash ssh -N -L localhost:本地端口:localhost:8888 用户名@服务器IP ``` - 示例:`ssh -N -L 9999:localhost:8888 user@192.168.1.100` 2. **在 PyCharm 中配置 Jupyter 服务器**: - 打开 PyCharm,进入 `File > Settings > Project > Jupyter`。 - 点击 `Add`,输入 Jupyter 地址:`http://localhost:本地端口`(如 `http://localhost:9999`)。 - 输入 Token(若服务器配置了 token)或密码。 3. **访问 Jupyter Notebook**: - 在 PyCharm 中打开或创建 `.ipynb` 文件,即可使用远程内核运行代码。 --- #### **方法二:直接连接远程服务器(需专业版)** 1. **配置远程解释器**: - 进入 `File > Settings > Project > Python Interpreter`。 - 点击齿轮图标,选择 `Add > SSH Interpreter`。 - 输入服务器 SSH 信息,选择远程 Python 路径。 2. **设置 Jupyter 服务器地址**: - 在 `File > Settings > Project > Jupyter` 中,输入远程 Jupyter URL:`http://服务器IP:8888`。 - 输入 Token 或密码。 --- ### **3. 文件同步(可选)** 若需编辑服务器上的 Notebook 文件,可使用 PyCharm 的 **Deployment** 功能: 1. **配置远程服务器**: - `Tools > Deployment > Configuration`,添加 SFTP 连接。 - 设置服务器 SSH 信息、映射本地与远程路径。 2. **自动同步**: - 右键项目文件,选择 `Upload to...` 手动同步。 - 或开启 `Automatic Upload`(保存时自动同步)。 --- ### **注意事项** - **安全建议**:强烈建议通过 SSH 隧道连接,避免直接暴露 Jupyter 端口到公网。 - **PyCharm 版本**:专业版支持远程解释器,社区版需通过 SSH 隧道手动配置。 - **防火墙问题**:确保服务器防火墙(如 `ufw` 或 `iptables`)允许 Jupyter 端口通信。 完成上述步骤后,即可在本地 PyCharm 中流畅操作远程 Jupyter Notebook,享受本地编辑和远程算力的结合。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值