wordpress简易教程,西安seo技术,如何查询自己的网站是否被收录,移动端网站排名实现场景#xff0c;要求客户端定时将本地的日志文件传输到服务器。
工作环境ubuntu#xff0c;注意不通操作系统的版本不通#xff0c;依赖的工具的版本也有所不同
实现目标需要客户端满足安装工具#xff1a;
1、下载安装sshpass
---安装命令#xff1a;sudo apt-ge…实现场景要求客户端定时将本地的日志文件传输到服务器。
工作环境ubuntu注意不通操作系统的版本不通依赖的工具的版本也有所不同
实现目标需要客户端满足安装工具
1、下载安装sshpass
---安装命令sudo apt-get install sshpass
---使用实例
基本传输命令如下sshpass -p 密码 scp 本地路径文件 登录用户名服务器地址:服务器保存路径
---传输文件夹实例
est1为所需传输的文件夹root是登录服务器的用户后接着IP地址和将要存储的路径-p后的123456是登录服务器的密码
sshpass -p 123456 scp -r test1 root10.10.255.100:/home/test/
---传输文件实例
home/test1/test.txt为所需传输的文件root是登录服务器的用户后接着IP地址和将要存储的路径-p后的123456是登录服务器的密码
sshpass -p 123456 scp home/test1/test.txt root10.10.255.100:/home/test/ ---文件第一行读取密码连接服务器
home/test1/test.txt为要读取的文件root是登录服务器的用户后接着IP地址
sshpass -f home/test1/test.txt ssh root10.10.255.100
----删除远程文件夹
/home/test为所需删除的文件夹root是登录服务器的用户后接着IP地址-p后的123456是登录服务器的密码
sshpass -p 123456 ssh root10.10.255.100 -tt rm -rf /home/test
----远程解压文件
命令sshpass -p 密码 ssh rootip -tt tar -xzf 远程文件.tar包 -C 解压路径 /home/test1/test.tar为所需解压的文件/home/test2是解压路径root是登录服务器的用户后接着IP地址-p后的123456是登录服务器的密码
sshpass -p 123456 ssh root10.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) (Sunday0 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
# 远程服务器的用户名、主机和密码
USERyour_username
HOSTyour_host
PASSyour_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_username、your_host、your_password、/path/to/local/folder 和 /path/to/remote/folder 替换成适当的值。
注意明文存储密码并不安全考虑使用更安全的方法如 SSH 密钥或使用环境变量来传递密码。