Linux运维之常用操作

网友投稿 904 2022-09-27

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

Linux运维之常用操作

前言:

由于工作经常会遇到取数据、多台虚拟机(linux系统)执行同样的操作之类的命令,所以就写了这篇文档作为记录

解决问题:

1、多台虚拟机(linux系统)批量操作脚本

2、linux跨服务器远程数据拷贝

解决方案:

方案一:使用公钥和私钥的方法

1.linux跨服务器远程数据拷贝

1)、先在两台服务器生成公钥和密钥

ssh-keygen -t rsa

2)查找authorized_keys文件所在路径

find / -name authorized_keys

3)、将秘钥源文件所在服务器的公钥拷贝到目标服务器,加入authorized_keys中

cat id_rsa.pub74 >>authorized_keys

3)、然后在源文件所在服务器执行

scp data.jar root@192.168.1.8:/root/tester/system-2.4.3.jar

前面为源文件地址,后面为目标服务器及要复制的地址

2、远程执行批量命令脚本:

ssh root@192.168.1.9 'cd /root/tester && sh /root/tester/test.sh'

方案二:使用脚本

1、远程需要传输的文件是每天自动生成的数据库备份

1)、如果没有安装lftp,就安装lftp

yum install lftp -y

2)、创建sh (脚本)文件

#!/bin/bash#SFTP配置信息#IPIP=192.168.21.67#端口PORT=22#用户名USER=root#密码PASSWORD=yc1234567#待上传文件根目录CLIENTDIR=/mnt/mysql-backup#SFTP目录SEVERDIR=/usr/mysql-backup#待上传文件名d2=`date+%Y%m%d`FILE=zita_wms-$d2_013001.dump lftp -u ${USER},${PASSWORD} sftp://${IP}:${PORT} 

3)、授权文件操作

chmod 777 yc_test.sh

4)、如果再windows 里面编辑的文件,放到linux 里面,需要更改为unix的文件格式

viyc_test.sh:set ff=unix:wq!

如果再linux 里面创建文件

touch yc_test.sh

按 i 编辑内容

:wq!

退出

编辑sh 文件前 可以测试是否可用

lftp -u root,yc123456 sftp://111.111.111.111:22 

编辑完成后可以直接调用

/usr/sh/yc_test.sh

定时触发脚本:

放到crontab 里面

root身份登录到命令行

crontab -e

按下i键进入到编辑模式

0 */1 * * * usr/sh/start-yc_test.sh

同时按下ctrl+c退出编辑模式按下shift+: 输入wq 退出 crontab

备注学习:

1、lftp初涉

lftp命令是一款文件客户端程序,它支持ftp、SETP、HTTP和FTPs等多种文件传输协议。lftp支持tab自动补全,记不得命令双击tab键,就可以看到可能的选项了。

1)、语法

lftp(选项)(参数)

2)、选项

-f:指定lftp指令要执行的脚本文件;-c:执行指定的命令后退出;--help:显示帮助信息;--version:显示指令的版本号

3)、登录ftp

lftp 用户名:密码@ftp地址:传送端口(默认21)

3)、查看文件与改变目录

lscd 对应ftp目录

4)、下载

get 当然是可以的,还可以:mget -c *.pdf    #把所有的pdf文件以允许断点续传的方式下载。mirror aaa/      #将aaa目录整个的下载下来,子目录也会自动复制。pget -c -n 10 file.dat   #以最多10个线程以允许断点续传的方式下载file.dat,可以通过设置pget:default-n的值而使用默认值。

5)、上传

同样的put、mput都是对文件的操作,和下载类似。mirror -R 本地目录名将本地目录以迭代(包括子目录)的方式反向上传到ftp site。

6)、模式设置

set ftp:charset gbk远程ftp site用gbk编码,对应的要设置为utf8,只要替换gbk为utf8即可。set file:charset utf8本地的charset设定为utf8,如果你是gbk,相应改掉。set ftp:passive-mode 1使用被动模式登录,有些site要求必须用被动模式或者主动模式才可以登录,这个开关就是设置这个的。0代表不用被动模式。

7)、书签

其实命令行也可以有书签,在lftp终端提示符下:

bookmarkadd ustc

就可以把当前正在浏览的ftp site用ustc作为标签储存起来。以后在shell终端下,直接lftpustc就可以自动填好用户名和密码,进入对应的目录了。

bookmarkedit

会调用编辑器手动修改书签。当然,也可以看到,这个书签其实就是个简单的文本文件。密码,用户名都可以看到。

8)、配置文件

vim etc/lftp.conf一般,我会添加这几行:set ftp:charset gbkset file:charset utf8set pget:default-n 5

上一篇:盘点 DevOps 世界的杰出女性(一)(盘点总结怎么写)
下一篇:Zabbix 集成 OneAlert 实现全方位告警(zabbix是什么)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~