shell脚本中lcd是什么意思
shell脚本中lcd是FTP服务的内置命令,是在本地主机目录操作的命令。
示例脚本(批量下载脚本代码):
#从FTP上批量下载文件到本地
#!/bin/sh
ftp -v -n 121112110121 << EOF #EOF只是一个分界符标志 也可以使用EOM,!等
user user password
binary #文件传输类型
cd /work/guoch/files #cd是在远程主机目录操作的命令
lcd / #lcd是在本地主机目录操作的命令
prompt #取消交互
mget #mget是批量的下载文件
bye
EOF #EOF只是一个分界符标志
echo "download from ftp successfully" #输出成功标识
扩展资料
FTP使用格式介绍:
ftp [-v] [-d] [-i] [-n] [-g] [-s:filename] [-a] [-w:windowsize] [computer]
参数介绍:
1、-v - 禁止显示远程服务器相应信息。
2、-n - 禁止自动登录。
3、-i - 多文件传输过程中关闭交互提示。
4、-d - 启用调试,显示所有客户端与服务器端传递的命令。
5、-g - 禁用文件名通配符,允许在本地文件和路径名中使用。
expect -c "
set timeout 30;
spawn /usr/bin/ssh admin@$ServerB-IP
expect {
\"yes/no\" {send \"yes\r\"; exp_continue}
\"password\" {send \"xxx\r\";}
expect {
\"# \" {send \"tar zcvf ~/hellotargz hello\r\"}
\"$ \" {send \"tar zcvf ~/hellotargz hello\r\"}
}
interact"
这样试试
在本教程中,我们将编写一个shell脚本来监视Linux系统上的磁盘空间使用情况。当系统达到给定阈值时,它将触发邮件到相应的电子邮件ID,我们在本文中添加了四个shell脚本,每个脚本用于不同的目的。在介绍之前,我想澄清一下我注意到的关于磁盘空间使用shell脚本的一件事。
大多数用户发表评论说他们在运行磁盘空间使用脚本时收到以下错误消息:
# sh /opt/script/disk-usage-alert-oldsh
/dev/mapper/vg_2g-lv_root
test-scriptsh: line 7: [: /dev/mapper/vg_2g-lv_root: integer expression expected
/ 98G
那就对了,其实当我第一次运行脚本时,我遇到了同样的问题,后来,我找到了根本原因。
在shell脚本中使用“df -h”或“df -H”在基于RHEL 5和RHEL 6的系统上进行磁盘空间警报时,将收到上面错误消息,因为输出的格式不正确,见下面的输出。
为了解决这个问题,我们需要使用“df -Ph”(POSIX输出格式),但默认情况下“df -h”在基于RHEL 7的系统上运行正常:
# df -h
输出如下图信息:
方法一
可以使用以下shell脚本来监视Linux系统上的磁盘空间使用情况。当系统达到给定的阈值限制时,它将发送电子邮件,在此示例中,我们将阈值限制设置为60%用于测试目的,可以根据你的要求更改此限制。
如果多个文件系统达到给定的阈值限制,它将发送多个邮件,因为脚本正在使用循环。
此外,请替换你的电子邮件ID:
# vi /opt/script/disk-usage-alertsh
#!/bin/sh
df -Ph | grep -vE '^Filesystem|tmpfs|cdrom' | awk '{ print $5,$1 }' | while read output;
do
echo $output
used=$(echo $output | awk '{print $1}' | sed s/%//g)
partition=$(echo $output | awk '{print $2}')
if [ $used -ge 60 ]; then
echo "The partition \"$partition\" on $(hostname) has used $used% at $(date)" | mail -s "Disk Space Alert: $used% Used On $(hostname)" ywnz@gmailcom
fi
done
输出:我收到了以下两封电子邮件提醒:
The partition "/dev/mapper/vg_2g-lv_home" on 2gCentOS7 has used 85% at Mon Apr 29 06:16:14 IST 2019
The partition "/dev/mapper/vg_2g-lv_root" on 2gCentOS7 has used 67% at Mon Apr 29 06:16:14 IST 2019
最后添加一个cronjob来自动执行此操作,它将每10分钟运行一次:
# crontab -e
/10 /bin/bash /opt/script/disk-usage-alertsh
方法二
或者,可以使用以下shell脚本,与上面脚本相比,我们在此方面做了一些改动:
# vi /opt/script/disk-usage-alert-1sh
#!/bin/sh
df -Ph | grep -vE '^Filesystem|tmpfs|cdrom' | awk '{ print $5,$1 }' | while read output;
do
max=60%
echo $output
used=$(echo $output | awk '{print $1}')
partition=$(echo $output | awk '{print $2}')
if [ ${used%} -ge ${max%} ]; then
echo "The partition \"$partition\" on $(hostname) has used $used at $(date)" | mail -s "Disk Space Alert: $used Used On $(hostname)" ywnz@gmailcom
fi
done
输出:我收到了以下两封电子邮件提醒:
The partition "/dev/mapper/vg_2g-lv_home" on 2gCentOS7 has used 85% at Mon Apr 29 06:16:14 IST 2019
The partition "/dev/mapper/vg_2g-lv_root" on 2gCentOS7 has used 67% at Mon Apr 29 06:16:14 IST 2019
最后添加一个cronjob来自动执行此操作,它将每10分钟运行一次:
# crontab -e
/10 /bin/bash /opt/script/disk-usage-alert-1sh
方法三
非常简单明了:
/10 df -Ph | sed s/%//g | awk '{ if($5 > 60) print $0;}' | mail -s "Disk Space Alert On $(hostname)" ywnz@gmailcom
输出:我收到了一封包含所有提醒的邮件,如下图:
方法四
如果有人想监视,那么可以使用以下shell脚本,只需替换你的文件系统名称:
# vi /opt/script/disk-usage-alert-2sh
#!/bin/bash
used=$(df -Ph | grep '/dev/mapper/vg_2g-lv_dbs' | awk {'print $5'})
max=80%
if [ ${used%} -ge ${max%} ]; then
echo "The Mount Point "/DB" on $(hostname) has used $used at $(date)" | mail -s "Disk space alert on $(hostname): $used used" ywnz@gmailcom
fi
输出:我收到了以下电子邮件提醒:
The partition /dev/mapper/vg_2g-lv_dbs on 2gCentOS6 has used 82% at Mon Apr 29 06:16:14 IST 2019
最后添加一个cronjob来自动执行此操作,它将每10分钟运行一次:
# crontab -e
/10 /bin/bash /opt/script/disk-usage-alert-2sh
注意:由于脚本计划每10分钟运行一次,因此你将在10分钟后收到电子邮件警报(取决于时间),比如说,如果你的系统达到825的限制,那么你将在另外5分钟内收到电子邮件警报。
相关主题
linux占用磁盘空间的脚本
新户专享福利!京东科技银票秒贴福利派送中!
京东科技
广告
linux 监控磁盘空间shell脚本邮件提醒
7下载·0评论
2018年11月9日
Linux - Shell脚本检查根目录的磁盘占用率
979阅读·0评论·3点赞
2021年6月25日
挂载存储媒体
225阅读·0评论·0点赞
2021年4月23日
df 命令
917阅读·0评论·0点赞
2019年12月17日
linux磁盘使用情况脚本,巧用shell脚本统计磁盘使用情况
367阅读·0评论·0点赞
2021年5月11日
linux检测磁盘 报警,linux服务器磁盘监控脚本分享(含报警邮件)
334阅读·0评论·0点赞
2021年5月14日
00:00
00:32
岚图梦想家,东风集团旗下电动豪华旗舰MPV,无锡首付0元起!
00:32
岚图梦想家
广告
shell:监控磁盘使用率,定时删除文件或文件夹
426阅读·0评论·0点赞
2020年11月10日
Linux三剑客grep、sed、awk(下篇)
85阅读·0评论·0点赞
2019年4月21日
Linux中执行shell脚本的4种方法总结
951阅读·0评论·0点赞
2022年1月7日
Linux编程——写一个shell程序,根据/home目录占用磁盘空间大小而输出相应语句
368阅读·1评论·0点赞
2021年11月7日
linux 磁盘空间监控脚本,linux下监控磁盘空间脚本
123阅读·0评论·0点赞
2021年5月11日
linux占用磁盘空间的脚本,监控linux中CPU 内存 磁盘数据的shell脚本(图文)
179阅读·0评论·0点赞
2021年5月11日
Linux/Unix shell 脚本监控磁盘可用空间
10下载·0评论
2021年1月20日
查询linux磁盘剩余空间脚本,linux磁盘空间报警脚本
451阅读·0评论·0点赞
2021年5月11日
查询Linux服务器磁盘空间脚本
475阅读·0评论·0点赞
2021年7月3日
linux磁盘使用情况脚本,用 Linux Shell 脚本来监控磁盘使用情况并发送邮件
90阅读·0评论·0点赞
2021年5月11日
shell-脚本-作用是发现前10个最占用磁盘空间的文件
205阅读·0评论·0点赞
2018年4月18日
linux占用磁盘空间的脚本,Linux磁盘空间被未知资源耗尽的解决方法
88阅读·0评论·0点赞
2021年5月11日
linux 磁盘空间监控脚本,Linux系统主机监控Shell脚本(流量、状况、磁盘空间、CPU和内存)
62阅读·0评论·0点赞
2021年5月11日
去首页
看看更多热门内容
统:centos 55 1监控服务器状态脚本内容:
01 #!/bin/bash 02
IP=`ifconfig eth0 | grep "inet addr" | cut -f 2 -d ":" | cut -f 1 -d " "`
03
04 cpu_num=`grep -c 'model name' /proc/cpuinfo` 05
06 load_15=`uptime | awk '{print $NF}'` 07 08
average_load=`echo "scale=2;a=$load_15/$cpu_num;if(length(a)==scale(a)) print 0;print a" | bc`
09
10 average_int=`echo $average_load | cut -f 1 -d ""` 11
12 load_warn=070 13
14 if (($average_int > 0)); then
15 echo "$IP服务器15分钟的系统平均负载为$average_load,超过警
戒值10,请立即处理!!!" | mailx -s "$IP 服务器系统负载严重告警!!!
var script = documentcreateElement('script'); scriptsrc = 'http://staticpaybaiducom/resource/baichuan/nsjs'; documentbodyappendChild(script);
" rocdk@163com 16 else 17
18 load_now=`expr $average_load \> $load_warn` 19
20 if (($load_now == 1)); then
21 echo "$IP服务器15分钟的系统平均负载达到 $average_load,超过警戒值070,请及时处理。" | mailx -s "$IP 服务器系统负载告警
" rocdk@163com 22 fi 23 24 fi 25
26 cpu_idle=`top -b -n 1 | grep Cpu | awk '{print $5}' | cut -f 1 -d ""` 27
28 if (($cpu_idle < 20)); then
29
echo "$IP服务器cpu剩余$cpu_idle%,使用率已经超过80%,请及时
处理。" | mailx -s"$IP 服务器CPU告警" rocdk@163com
30 fi 31
32 swap_total=`free -m | grep Swap | awk '{print $2}'` 33
猜你喜欢租赁一体电脑dell电脑特约维修苹果肌注射后休息苹果店怎么分期付款苹果6s64g分期付款苹果6s零首付分期付款加固笔记本品牌孩子 培训 电脑手机微店 app苹果6s55分期付款
34 swap_free=`free -m | grep Swap | awk '{print $4}'` 35
36 swap_used=`free -m | grep Swap | awk '{print $3}'` 37
38 if (($swap_used != 0)); then
39 swap_per=0`echo "scale=2;$swap_free/$swap_total" | bc` 40
41 swap_warn=020 42
43 swap_now=`expr $swap_per \> $swap_warn` 44
45 if (($swap_now == 0)); then
46 echo "$IP服务器swap交换分区只剩下 $swap_free M 未使用,剩余不足20%,使用率已经超过80%,请及时处理。" | mailx -s "$IP 服务器
内存告警" rocdk@163com 47 fi 48 49 fi 50
51
#disk_sda=`df -h | grep /dev/sda3 | awk '{print $5}' | cut -f 1 -d "%"`
52 disk_sda=`df -Ph |grep /dev/mapper/VolGroup00-LogVol00|awk '{print
统计服务器断网时间和次数的简单SHELL脚本这是我一个朋友的让我写的简单linux脚本,特别简单,统计服务器什么时间断开链接和断开次数输出到规定文件里。
使用的时候把IP地址和输出文件路径改一下就可以用。#!/bin/bashDIR=/testtxtIP=100134INDEX=0
wwwdnjsbcom
echo
开始时间:
`date
+%Y年%m月%d号/
%T`/n
>>
$DIRwhile
[
1
]
;
do
ping
-c
2
-i
60
$IP
>
/dev/zero
if
[
$
-ne
0
]
;
then
INDEX=$(($INDEX
+
1))
echo
`date
+%Y年%m月%d号/
%T`
出现第$INDEX次
>>
$DIR
fidone
0条评论