如何通过本地文件夹中的文件创建scp文件并保存它在本地的路径和名称的代码
时间: 2023-04-12 16:02:09 浏览: 133
你可以使用以下代码来创建并保存 SCP 文件:
```python
import paramiko
# 创建 SSH 客户端
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 连接到远程服务器
ssh.connect('remote_host', username='username', password='password')
# 创建 SCP 客户端
scp = ssh.open_sftp()
# 从本地文件夹中上传文件到远程服务器
local_path = '/path/to/local/file'
remote_path = '/path/to/remote/file'
scp.put(local_path, remote_path)
# 关闭 SCP 客户端和 SSH 连接
scp.close()
ssh.close()
```
这段代码可以将本地文件夹中的文件上传到远程服务器,并保存在指定的路径和名称下。你可以根据需要修改本地路径、远程路径、用户名和密码等参数。
相关问题
github action scp key
GitHub Action是一个强大的自动化工作流程工具,可以用于管理、构建和部署代码。在使用GitHub Action进行代码部署时,可能会使用到SCP(Secure Copy)命令来将文件或目录从本地复制到远程服务器。
首先,使用GitHub Action需要在仓库的根目录下创建一个`.github`文件夹。进入`.github`文件夹后,再创建一个`workflows`文件夹。在`workflows`文件夹中,创建一个用于部署的`.yml`文件(例如`deploy.yml`)。在该文件中定义了GitHub Action的工作流程。
在工作流程中,需要使用到SSH私钥来进行SCP操作。为了保证安全性,应该将SSH私钥存储为一个仓库的Secret。打开GitHub仓库的页面,点击右上角的“Settings”,然后选择“Secrets”选项。在“Secrets”页面中,点击“New repository Secret”按钮创建一个私钥Secret。将私钥命名为`SSH_PRIVATE_KEY`(或者其他自定义名称),并将私钥的内容粘贴到“Value”字段中,最后保存。
接下来,在`.yml`文件中的工作流程中使用SCP命令时,可以通过`${{ secrets.SSH_PRIVATE_KEY }}`访问到存储的SSH私钥。使用SCP命令将文件或目录复制到远程服务器时,可以先设置远程服务器的IP地址、用户名和目标路径等参数。然后,使用`scp`和`-i`选项(指定SSH私钥文件)进行SCP操作。
例如,下面是一个使用GitHub Action进行SCP操作的示例代码:
```yaml
name: Deploy to Server
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Set up SSH
run: echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_rsa && chmod 600 ~/.ssh/id_rsa
- name: SCP files to server
run: scp -r -i ~/.ssh/id_rsa local_folder/ username@ip_address:/remote_folder/
```
以上代码示例定义了一个名为"Deploy to Server"的工作流程,当代码提交到`main`分支时触发。工作流程包含了三个步骤,分别是检出代码、设置SSH和SCP文件到远程服务器。
注意,在使用该示例前,需要将示例中的`local_folder/`替换为本地文件或目录的路径,`username`和`ip_address`替换为实际的服务器用户名和IP地址,`/remote_folder/`替换为目标服务器的路径。
这样,当提交代码到`main`分支时,GitHub Action会自动运行工作流程,将文件或目录复制到远程服务器上。
Excalidraw 安装部署中文字体
### 回答1:
Excalidraw是一种在线的白板绘图工具,它支持使用自定义字体来绘制图形。要在Excalidraw中安装并使用中文字体,您可以按照以下步骤进行操作:
1. 首先,您需要从互联网上下载您想要使用的中文字体。一些免费字体可以在网上找到,例如Google Fonts(https://fonts.google.com/)和中文字体库(https://www.fonts.net.cn/)等。
2. 将字体文件(通常为.ttf或.otf格式)下载到本地计算机。然后,您需要将字体文件上传到Excalidraw的服务器上,以便Excalidraw可以使用这些字体来绘制图形。
3. 在Excalidraw服务器上,找到您安装Excalidraw的目录。例如,如果您在Ubuntu上安装Excalidraw,则该目录可能为“/usr/share/excalidraw”。
4. 在Excalidraw目录中创建一个名为“fonts”的新目录。此目录将用于存储您上传的字体文件。
5. 将字体文件上传到“fonts”目录中。您可以使用SCP或其他文件传输工具将文件上传到Excalidraw服务器。确保将文件权限设置为Excalidraw用户可以读取。
6. 在Excalidraw中添加字体。要添加字体,请编辑Excalidraw的“config.js”文件。在该文件中,您将找到一个名为“FONT_FAMILY_OPTIONS”的数组,其中包含默认字体。将您上传的字体文件名称添加到此数组中。例如:
```
const FONT_FAMILY_OPTIONS = [
{ value: "Arial, sans-serif", text: "Arial" },
{ value: "Noto Sans SC, sans-serif", text: "Noto Sans SC" },
{ value: "Noto Sans TC, sans-serif", text: "Noto Sans TC" },
{ value: "PingFang SC, sans-serif", text: "PingFang SC" },
{ value: "SimSun, sans-serif", text: "SimSun" },
{ value: "FangSong, sans-serif", text: "FangSong" },
{ value: "STKaiti, sans-serif", text: "STKaiti" },
{ value: "STSong, sans-serif", text: "STSong" },
{ value: "my_custom_font, sans-serif", text: "My Custom Font" },
];
```
在此示例中,字体文件名称为“my_custom_font.ttf”。请注意,您可以将“my_custom_font”更改为您上传的字体文件的名称。
7. 保存“config.js”文件,并重新启动Excalidraw服务器。这将使您添加的字体可用于Excalidraw的使用。
以上是在Excalidraw中安装和部署中文字体的基本步骤。请注意,在实际操作中,可能会出现一些与系统配置和权限相关的问题。如果您遇到困难,请查看Excalidraw的文档和支持论坛,或者与Excalidraw的开发团队联系以获取
### 回答2:
Excalidraw是一个基于Web的矢量图形编辑工具,它默认使用的是浏览器中的字体。要在安装部署Excalidraw时支持中文字体,需要进行一些额外的设置和配置。
首先,我们需要确保操作系统中已经安装了所需的中文字体。可以通过在终端或命令行中运行命令`fc-list :lang=zh`来查看已经安装的中文字体列表。如果没有中文字体,可以通过安装中文字体包来获得中文字体的支持。
其次,需要在Excalidraw的代码中进行配置,以指定使用中文字体。可以在代码中找到相关的部分,通常是在`app/Excalidraw.tsx`文件中。你可以搜索`font-family`关键字,并将其值修改为你希望使用的中文字体的名称。
例如,如果你希望使用宋体作为中文字体,可以将`font-family`修改为`SimSun`。如果你想要使用其他的中文字体,需要确保该字体已经正确安装,并使用其在系统中的字体名。
修改完成后,保存代码,并重新编译或重新部署Excalidraw应用程序。之后,打开Excalidraw,你将能够看到页面上的文本已经使用你指定的中文字体进行显示了。
需要注意的是,中文字体在不同的操作系统和浏览器中可能会有一些差异,可能会导致字体在不同环境下显示效果不同。因此,在选择中文字体时,建议选择在各种环境下均能良好显示的通用字体,以确保用户能够正常看到显示的文字。
### 回答3:
Excalidraw 是一款开源的在线绘图工具,它支持绘制流程图、草图和其他类型的图形。在安装部署 Excalidraw 过程中,如果需要支持中文字体,可以按照以下步骤进行设置。
首先,我们需要在服务器或本地环境中安装字体文件。可以从不同的来源获取中文字体文件,例如互联网上的字体库或操作系统自带的字体。
接下来,将字体文件复制到 Excalidraw 的字体目录中。根据安装部署情况的不同,字体目录可以是 Excalidraw 的根目录下的 fonts 文件夹或某个特定的字体文件夹。
然后,编辑 Excalidraw 的配置文件,以指定使用中文字体。配置文件通常是一个名为 config.js 或 config.json 的文件,在 Excalidraw 的根目录下或某个特定的配置文件夹中。
在配置文件中,查找字体相关的设置项,例如 "fontFamily" 或 "font"。将其值修改为所安装的中文字体的名称或路径。
保存配置文件,并重新启动 Excalidraw 服务。如果 Excalidraw 是安装在服务器上的,需要重启服务器;如果是本地运行,则需要重新运行 Excalidraw 的启动命令。
此时,Excalidraw 已经成功安装并部署了中文字体。在使用 Excalidraw 绘图时,选择合适的中文字体即可正常显示和编辑中文内容。
总之,安装部署 Excalidraw 中文字体的过程包括获取中文字体文件、将字体文件复制到指定目录、修改配置文件以指定中文字体、保存配置文件并重启 Excalidraw 服务。这样就可以在 Excalidraw 中使用中文字体进行绘图。
阅读全文