type
status
date
slug
summary
tags
category
icon
password
目标: 将一台服务器A上面的某个文件每天晚上定时备份到另一台服务器B(ip:116.198.xxx.xx)上的某个路径下

1.配置ssh免密登录

1.1 在源服务器上生成 SSH 密钥对

在服务器 A 上,打开终端并运行以下命令生成 SSH 密钥对。如果已经有密钥对可以跳过这一步。
执行该命令后,你会看到如下提示:
📢
Generating public/private rsa key pair. Enter file in which to save the key (/home/user/.ssh/id_rsa):
按 Enter 键使用默认路径。
提示输入一个密码短语(passphrase),可以直接按 Enter 键留空。
 

1.2 将公钥复制到目标服务器

将生成的公钥(默认情况下位于 /home/user/.ssh/id_rsa.pub)复制到服务器 B 上的 ~/.ssh/authorized_keys 文件中。
  • 可以使用 ssh-copy-id 命令来完成这一任务。
例如: ssh-copyid [email protected].xxx.xx
  • 如果 ssh-copy-id 命令不可用,也可以手动完成这一步:
    • 使用 scp 将公钥复制到服务器 B 上的临时位置:
登录到服务器 B, 在A服务器上执行下面命令
将公钥追加到 ~/.ssh/authorized_keys 文件中:
确保 ~/.ssh/authorized_keys 文件的权限正确:
 

1.3 测试 SSH 免密码登录

在服务器 A 上运行以下命令,测试是否可以无密码登录到服务器 B:
ssh user@serverB
如果配置成功,你应该能够直接登录,而不会被要求输入密码。
注意事项
  • 确保 .ssh 目录和 authorized_keys 文件的权限设置正确,避免不必要的权限问题:
  • 如果你的目标服务器使用非标准端口,可以在 ssh-copy-id 或 scp 命令中指定端口,例如:
完成以上步骤后,你的源服务器 A 应该能够无密码地登录到目标服务器 B,从而方便后续的自动化任务(如备份文件)。

2.创建备份脚本

在 /home/admin 目录下面创建 backup.sh,将x-ui.db备份到目标服务器的指定位置
给脚本赋予可执行权限:

3.设置cron定时任务

使用 crontab 编辑定时任务:
然后,在 crontab 文件中添加以下行,这将每小时执行一次脚本:
保存 crontab 文件并退出编辑器。这将立即生效,并且 backup.sh 脚本将每小时执行一次。
验证定时任务:
检查 cron 日志来验证你的脚本是否每分钟被执行。cron 日志通常位于 /var/log/cron 或 /var/log/syslog(具体位置取决于你的操作系统配置)。
使用以下命令查看日志:
 
 
 
相关文章
常用app下载地址Shell 脚本
vikingar
vikingar
vikingar blog
公告
🎉Welcome to vikingar`s blog🎉
这里记录了一些我的学习与思考
我的联系方式:
qq: 1974392477
v : a04051471
qq群:1169652720