You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从受密码保护的SSH服务器定期备份脚本文件?

用SCP或Rsync实现每周SSH密码登录的脚本备份

一、SCP 方法(适合新手,操作简单)

SCP是基于SSH的文件传输工具,原生支持密码验证登录,适合单次或定期备份单个文件。

1. 手动执行备份命令

在本地终端运行以下命令,替换对应参数即可:

scp 用户名@服务器IP:/服务器上的脚本路径 /本地保存路径

示例:假设服务器用户为admin,IP是192.168.1.100,脚本路径为/opt/scripts/auto_run.sh,本地备份目录是~/backup/scripts/,命令如下:

scp admin@192.168.1.100:/opt/scripts/auto_run.sh ~/backup/scripts/

执行后输入服务器SSH密码,即可完成备份。

2. 自动化每周备份(无需手动输密码)

要实现定时自动备份,需解决自动输入密码的问题,推荐使用sshpass工具(需先在本地安装):

  • 安装sshpass(以Debian/Ubuntu为例):
sudo apt install sshpass
  • 编写备份脚本backup_script.sh:
#!/bin/bash
# 配置参数
SSH_USER="admin"
SSH_HOST="192.168.1.100"
REMOTE_FILE="/opt/scripts/auto_run.sh"
LOCAL_DIR="~/backup/scripts/"
SSH_PASSWORD="你的服务器密码"

# 创建本地备份目录(不存在则自动创建)
mkdir -p $LOCAL_DIR

# 执行SCP备份
sshpass -p $SSH_PASSWORD scp $SSH_USER@$SSH_HOST:$REMOTE_FILE $LOCAL_DIR
  • 给脚本添加执行权限:
chmod +x backup_script.sh
  • 设置每周定时任务(使用crontab):
    运行crontab -e,添加以下内容(示例为每周日凌晨2点执行备份):
0 2 * * 0 /path/to/backup_script.sh

保存退出后,系统会自动按设定时间执行备份。

二、Rsync 方法(更高效,适配持续更新的文件)

Rsync比SCP更高效,它仅传输文件中变化的部分,适合你的持续更新脚本,能节省带宽和备份时间。

1. 手动执行备份命令

基本命令格式如下:

rsync -avz 用户名@服务器IP:/服务器上的脚本路径 /本地保存路径

示例:

rsync -avz admin@192.168.1.100:/opt/scripts/auto_run.sh ~/backup/scripts/

参数说明:

  • -a:归档模式,保留文件权限、修改时间等属性
  • -v:显示详细传输日志
  • -z:压缩传输数据,减少带宽占用
    执行后输入SSH密码即可完成备份。

2. 自动化每周备份

同样结合sshpass实现自动备份,编写脚本backup_rsync.sh:

#!/bin/bash
SSH_USER="admin"
SSH_HOST="192.168.1.100"
REMOTE_FILE="/opt/scripts/auto_run.sh"
LOCAL_DIR="~/backup/scripts/"
SSH_PASSWORD="你的服务器密码"

mkdir -p $LOCAL_DIR

sshpass -p $SSH_PASSWORD rsync -avz $SSH_USER@$SSH_HOST:$REMOTE_FILE $LOCAL_DIR

添加执行权限后,通过crontab设置定时任务即可,配置逻辑与SCP的定时任务一致。

注意事项

  • 脚本中明文存储密码存在安全风险,若服务器支持,优先配置SSH密钥登录,可彻底避免密码问题,安全性更高。
  • 定期检查本地备份目录,确认文件正常生成,确保备份有效性。
  • 若本地是Windows系统,可使用Git Bash、WSL或PuTTY配套的pscp工具,命令逻辑与Linux一致。

内容的提问来源于stack exchange,提问作者SparkAF

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 22:55:16