当前位置: 首页> 教育> 培训 > 密云建站推广_有意思的网站_专业营销策划团队_湖南长沙最新疫情

密云建站推广_有意思的网站_专业营销策划团队_湖南长沙最新疫情

时间:2025/9/10 14:45:33来源:https://blog.csdn.net/yao51011010/article/details/144431627 浏览次数:0次
密云建站推广_有意思的网站_专业营销策划团队_湖南长沙最新疫情

实现场景,要求客户端定时将本地的日志文件传输到服务器。

工作环境ubuntu,注意不通操作系统的版本不通,依赖的工具的版本也有所不同

实现目标需要客户端满足安装工具:

1、下载安装sshpass

---安装命令:sudo apt-get install sshpass

---使用实例:

基本传输命令如下:sshpass -p 密码 scp 本地路径文件 登录用户名@服务器地址:服务器保存路径

---传输文件夹实例:

est1为所需传输的文件夹;root是登录服务器的用户,后接着IP地址和将要存储的路径;-p后的123456是登录服务器的密码

sshpass -p 123456 scp -r test1 root@10.10.255.100:/home/test/

---传输文件实例:

home/test1/test.txt为所需传输的文件;root是登录服务器的用户,后接着IP地址和将要存储的路径;-p后的123456是登录服务器的密码

sshpass -p 123456 scp home/test1/test.txt root@10.10.255.100:/home/test/

---文件第一行读取密码连接服务器

home/test1/test.txt为要读取的文件;root是登录服务器的用户,后接着IP地址

sshpass -f home/test1/test.txt ssh root@10.10.255.100

----删除远程文件夹

/home/test为所需删除的文件夹;root是登录服务器的用户,后接着IP地址;-p后的123456是登录服务器的密码

sshpass -p 123456 ssh root@10.10.255.100 -tt rm -rf /home/test

----远程解压文件

命令:sshpass -p 密码 ssh root@ip -tt tar -xzf 远程文件.tar包 -C 解压路径
/home/test1/test.tar为所需解压的文件;/home/test2是解压路径;root是登录服务器的用户,后接着IP地址;-p后的123456是登录服务器的密码

sshpass -p 123456 ssh root@10.10.255.100 -tt tar -xzf /home/test1/test.tar -C /home/test2

【Liunx-sshpass及scp命令在linux机器间文件传输 传输文件夹 远程删除文件夹 远程解压文件 远程连接服务器_sshpass scp-CSDN博客】

2、下载安装cron工具

sudo apt update    //更新Ubuntu软件包列表

sudo apt install cron   //更新Ubuntu软件包列表

sudo systemctl status cron   // 验证cron是否安装成功 

对于系统较老的版本,使用sudo service cron status 验证是否成功

sudo service cron status

crontab -e   //学习cron的基本使用方法

crontab文件中,每一行代表一个定时任务,格式如下:

* * * * * command_to_execute
- - - - -
| | | | |
| | | | +----- 星期几 (0 - 7) (Sunday=0 or 7)
| | | +------- 月份 (1 - 12)
| | +--------- 一个月中的第几天 (1 - 31)
| +----------- 小时 (0 - 23)
+------------- 分钟 (0 - 59)
例如:假设你有一个脚本/home/user/backup.sh,你希望它每天凌晨3点运行:

打开crontab编辑器

crontab -e

添加以下行到crontab文件中:

0 3 * * * /home/user/backup.sh

保存并退出编辑器。

现在,cron服务将每天凌晨3点自动运行/home/user/backup.sh脚本。

3、下载安装

4、采用sshpass传输本地文件内的所有文件

通过scp命令传输文件有最大数量的限制,因此最好采用循环文件夹内所有的文件进行文件传输

传输脚本百度查询的实例:

#!/bin/bash

# 远程服务器的用户名、主机和密码

USER='your_username'

HOST='your_host'

PASS='your_password'

# 本地和远程的文件夹路径

LOCAL_DIR='/path/to/local/folder'

REMOTE_DIR='/path/to/remote/folder'

# 循环发送本地文件夹中的所有文件

for file in "$LOCAL_DIR"/*; do

filename="$(basename "$file")"

sshpass -p "$PASS" scp "$file" "$USER@$HOST:$REMOTE_DIR/$filename"

done

请确保你已经安装了 sshpass 工具,并且将脚本中的 your_usernameyour_hostyour_password/path/to/local/folder 和 /path/to/remote/folder 替换成适当的值。

注意:明文存储密码并不安全,考虑使用更安全的方法,如 SSH 密钥或使用环境变量来传递密码。

关键字:密云建站推广_有意思的网站_专业营销策划团队_湖南长沙最新疫情

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: