139->135
生成密钥对
[root@linux02 ~]# ssh-keygen -t rsa -P ""
[root@linux02 ~]# cd .ssh/
[root@linux02 .ssh]# ls
id_rsa id_rsa.pub
[root@linux02 .ssh]# cat id_rsa
[root@linux02 .ssh]# cat id_rsa.pub
[root@linux02 .ssh]# cd
ssh-copy-id -i ./id_rsa.pub -p22 root@192.168.111.13x
[root@linux02 ~]# ssh-copy-id -i .ssh/id_rsa.pub -p22 root@192.168.111.13x
[root@linux02 .ssh]# ssh-copy-id -i ./id_rsa.pub -p22 root@192.168.111.13x
[root@linux05 ~]# exit
[root@linux02 ~]# ssh -p22 root@192.168.111.13x
[root@linux02 .ssh]# ssh -p22 root@192.168.111.13x
Linux scp 命令用于 Linux 之间复制文件和目录。
scp 是 secure copy 的缩写, scp 是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命令。
scp 是加密的,rcp 是不加密的,scp 是 rcp 的加强版。
[root@linux05 ~]# sc
[root@linux05 ~]# scp
[root@linux05 ~]# scp -r /etc/hosts root@linux0x:/etc/
[root@linux01 shell1]# vi ./opmysqljq.sh
#!/bin/bash
for host in linux01 linux02 linux03 linux04 linux05
do
echo "--------$host mysql服务状态----------"
ssh $host "systemctl status mysqld"
done
~
[root@linux01 shell1]# vi ./opmysqljq2.sh
#!/bin/bash
case $1 in
"start")
for host in linux01 linux02 linux03 linux04 linux05
do
ssh $host "systemctl start mysqld"
done
;;
"stop")
for host in linux01 linux02 linux03 linux04 linux05
do
ssh $host "systemctl stop mysqld"
done
;;
"status")
for host in linux01 linux02 linux03 linux04 linux05
do
ssh $host "systemctl status mysqld"
done
;;
esac
scp -r /etc/hosts root@mihaoyu152:/etc/ 拷贝
scp -r root@mihaoyu152:/opt/soft2/shell1 /opt/ 拷贝
软连接是linux中一个常用命令,它的功能是为某一个文件在另外一个位置建立一个不同的链接。
具体用法是:ln -s 源文件 目标文件。
#!/bin/bash
#获取输入的参数,如果没有参数。直接退出
argCount=$#
if [ $argCount == 0 ]; then
echo 'no args'
exit 0
fi
#获取文件名称
f=$1
fname=`basename $f`
echo $fname
#获取文件绝对路径
pdir=`cd -P $(dirname $f ); pwd`
echo $pdir
#获取当前用户
user=`whoami`
echo $user
yum install -y rsync
#循环拷贝
for host in linux02 linux03 linux04 linux05
do
echo "---------------------------- $host --------------"
从字面意思上,rsync 可以理解为 remote sync(远程同步),
但它不仅可以远程同步数据(类似于 scp 命令),还可以本地同步数据(类似于 cp 命令)。
不同于 cp 或 scp 的一点是,使用 rsync 命令备份数据时,
不会直接覆盖以前的数据(如果数据已经存在),
而是先判断已经存在的数据和新数据的差异,只有数据不同时才会把不相同的部分覆盖。
rsync -av $pdir(绝对路径)/$fname(文件名称) $user(用户)@$host:$pdir(绝对路径)
-a, --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD
-v, --verbose 详细模式输出
done
./xsync /opt/soft2/mysyssh/autoinstall.sh /opt/soft2
./xsync /opt/soft2/mysyssh