155 位表示想打赏此文章

vi常用快捷键

x 删除光标处的字符
dd 删除整行
i 在光标前插入文本
a 在光标后插入文本
o 当前行下插入新行
u 撤销最后一次修改

/text:向前搜索text
?text:向后搜索text

( 移到句子的开头
) 移到句子的结尾
{ 移到段落的开头
} 移到下一个段落的开头

:e! 放弃所有修改,从上次保存开始处再编辑
:wq 保存退出
:q! 不保存退出

:set nu 打印行号
:set ff=unix 转为unix格式(用于windows下编辑过的文件)

    255 位表示想打赏此文章

crontab表达式

crontab相当于windows的计划任务,我用centos7一般都是默认安装,默认开机启动。

一、命令
安装crontab:

[root@CentOS ~]# yum install vixie-cron
[root@CentOS ~]# yum install crontabs

启动crontab:

service crond (status|start|stop)

查看crontab列表:

crontab -l

新建crontab列表:

crontab -e

二、cron表达式:

例子:(从别人博客整理的)
每天 02:00 执行任务

0 2 * * * /bin/sh backup.sh

每 10min 执行一次任务

*/10 * * * * /scripts/monitor.sh

每天 5:00和17:00执行任务

0 5,17 * * * /scripts/script.sh

三、设了cron但运行不了的两个注意的事项:
①sh脚本中,有些命令是cron不能直接引用的,要在sh头部加入

export PATH=$PATH:/bin:/sbin:/usr/bin:/usr/sbin

②cron是直接在~目录下运行的,所以sh脚本要写绝对路径

    201 位表示想打赏此文章

Linux下实现密钥\私钥\公钥登录

很多时候为了防止服务器密码被暴力破解,或者想实现免密登录,我们可以利用密钥\私钥\公钥方式来登录。其实密钥\私钥\公钥说的都是一种方式,下面简称密钥登录,并介绍两种情况,但无论哪种,服务器都是放公钥

 

一、SecureCRT等客户端登录linux服务器

(服务器放自己的公钥,私钥给客户端使用)

1、制作密钥对

先登录到linux服务器,输入ssh-keygen生成公钥和私钥

id_rsa就是私钥,id_rsa.pub就是公钥。

 

2、在linux服务器上安装公钥

进入.ssh文件夹:

cd ~/.ssh

cat id_rsa.pub >> authorized_keys

chmod 600 authorized_keys

chmod 700 ~/.ssh

注意:authorized_keys文件是追加公钥,用的是>>而不是>,后续还能追加其他客户端登录。

authorized_keys文件权限必须是600,.ssh文件夹权限必须是700。

 

3、打开密钥登录

vi /etc/ssh/sshd_config ,主要留意以下4项:

RSAAuthentication yes //

PubkeyAuthentication yes //

PermitRootLogin yes //是否允许使用root登录

PasswordAuthentication yes //我理解是yes则rsa和密码都要验证才能登录。

 

4、获取私钥

将私钥保存到本地,在secureCRT的登录设置中选择即可,同理xshell等都行

cat /root/.ssh/id_rsa

 

二、linux客户端登录到linux服务器

(服务器放客户端的公钥,私钥给客户端使用)

1、制作密钥对

类似第一部分,先登录到linux客户端,输入ssh-keygen生成公钥和私钥。

 

2、拷贝公钥到服务器

①方法一:ssh-copy-id -i /root/.ssh/id_rsa.pub root@xx.xx.xx.xx

输入服务器密码则可以拷贝过去。拷完后登上去服务器检查下~/.ssh文件夹下面是不是有authorized_keys。

②方法二:如果服务器已经开启了密钥登录,则把客户端的id_rsa.pub文件通过其他手段拷贝到/root/.ssh/下面,然后cat id_rsa.pub >> authorized_keys

③保证服务器的authorized_keys的权限是600,.ssh文件夹的权限是700。linux客户端就能密钥登录linux服务器了。