shell

shell语法

shell基本语法及高级命令shell脚本语言的使用(超全超详细)一篇教会你写90%的shell脚本(入门小结)Shell中while循环的done 后接一个重定向<修改crontab默认编辑器nano为vim

shell脚本范例

根据磁盘量,自动清理日志文件脚本整理全网Shell脚本合集,Java脚本,运维脚本,告警脚本,监控脚本,日志脚本,docker脚本等---------持续更新!shell脚本-读取配置文件返回变量shell取配置文件内参数值Linux - Shell 脚本中获取本机 ip 地址方法

ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"

命令解释

ifconfig -a            和window下执行此命令一样道理,返回本机所有ip信息
 grep inet                截取包含ip的行
 grep -v 127.0.0.1         去掉本地指向的那行
 grep -v inet6             去掉包含inet6的行
 awk { print $2}           $2 表示默认以空格分割的第二组 同理 $1表示第一组
 tr -d "addr:              删除"addr:"这个字符串

使用shell时遇到的问题

在 shell 脚本中,函数的定义一定要在放在程序的最前面(需要定义在调用之前,否则会报错:command not found), 这样才能够在执行时被找到可用的程序段!!!!!
shell 自定义函数调用 报错:command not found [运行shell脚本时报错"[ : not found"解决方法

详解在Linux中清空或删除大文件内容的5种方法

#echo "" > access.log 
echo > access.log

ssh

ssh免密配置

Linux创建新用户,并赋予ssh访问权限Shell脚本实现SSH免密登陆及批量配置管理解决SSH免密登录配置成功后不生效问题

ssh权限问题

ssh无法登录——权限问题如何解决ssh目录权限说明 PS:SSH进行认证的过程中除了对用户目录有权限要求外,对 .ssh 文件夹和 authorized_keys 文件同样也要限制。
在/etc/ssh/sshd_config中有一个选项StrictModes,如果该选项是yes,那么如果某些文件或者文件夹的权限不对则无法ssh登录,具体权限如下:

chmod g-w /home/your_user # 用户目录权限为700或者755,这里统一配置700权限,就是不能是77x,需要保障other用户不能有w权限
chmod 700 /home/your_user/.ssh # .ssh目录权限一般为700或者755,这里统一配置700权限
chmod 600 /home/your_user/.ssh/authorized_keys # rsa_id.pub 及authorized_keys权限一般为600或644,这里统一配置600权限
chmod 600 /home/your_user/.ssh/rsa_id  # rsa_id权限必须为600

.ssh目录权限
drwx------ 2 root root 4096 Apr 9 2015 .ssh

.ssh目录下文件的权限
-rw-r–r-- 1 root root 1609 Mar 2 14:05 authorized_keys
-rw------- 1 root root 1675 Dec 12 2014 id_rsa
-rw-r–r-- 1 root root 405 Dec 12 2014 id_rsa.pub
-rw-r–r-- 1 root root 4701 May 25 2016 known_hosts

这里的权限指的是对端的权限,如从A主机 通过ssh连接 B主机,B主机权限按照上边的设置进行。

ssh远程执行

SSH 远程执行任务sshpass的使用方法ssh 携带密码登录-sshpasssshpass:一个很棒的免交互 SSH 登录工具,但不要用在生产服务器上

rsync同步文件

Rsync 配置和使用rsync工作原理和同步流程分析使用rsync同步目录【集群实战】Rsync常见错误总结rsync故障排查整理【已解决】Mac中sshpass加上rsync运行报错:Host key verification failed rsync error unexplained error code 255 rsync.c senderrsync服务端和客户端配置自动化配置脚本rsync+inotify文件实时同步

rsync的主要有以下三个配置文件rsyncd.conf(服务器主要配置文件)、rsyncd.secrets(密码文件)、rsyncd.motd(rysnc服务器信息)
服务器配置文件(/etc/rsyncd.conf),该文件默认不存在,需要先创建它。具体步骤如下:

touch /etc/rsyncd.conf #创建rsyncd.conf,这是rsync服务器的配置文件。
touch /etc/rsyncd.secrets #创建rsyncd.secrets,这是用户密码文件。
chmod 600 /etc/rsyncd.secrets #将rsyncd.secrets这个密码文件的文件属性设为root拥有, 且权限要设为600, 否则无法备份成功!
touch /etc/rsyncd.motd