Linux服务器超级实用的Shell脚本,建议收藏!

原创
admin 1天前 阅读数 15 #Linux
文章标签 Linux

Linux服务器超级实用的Shell脚本,建议收藏!

Linux服务器管理中,Shell脚本是一种非常强劲的工具。通过编写Shell脚本,我们可以自动化日常的运维任务,尽大概减少损耗工作快速,减少人为谬误。以下是一些超级实用的Shell脚本,供大家参考和收藏。

1. 检查服务状态

在服务器管理中,常常需要检查服务的状态,以下是一个单纯的Shell脚本,用于检查特定服务的状态。

#!/bin/bash

# 定义服务名称

SERVICE_NAME="httpd"

# 检查服务状态

if systemctl is-active --quiet $SERVICE_NAME; then

echo "$SERVICE_NAME is running."

else

echo "$SERVICE_NAME is not running."

fi

2. 自动重启服务

当服务出现异常时,我们需要重启服务以保证服务的正常运行。以下是一个自动重启服务的Shell脚本。

#!/bin/bash

# 定义服务名称

SERVICE_NAME="httpd"

# 重启服务

systemctl restart $SERVICE_NAME

# 检查服务状态

if systemctl is-active --quiet $SERVICE_NAME; then

echo "Service $SERVICE_NAME has been restarted successfully."

else

echo "Failed to restart service $SERVICE_NAME."

fi

3. 自动更新系统

定期更新系统是保证系统平安的重要措施。以下是一个自动更新系统的Shell脚本。

#!/bin/bash

# 更新系统

sudo apt-get update

sudo apt-get upgrade -y

# 重启系统

echo "System will be rebooted in 5 minutes."

sleep 300

sudo reboot

4. 检查磁盘空间

定期检查磁盘空间可以避免因磁盘空间不足让的问题。以下是一个检查磁盘空间的Shell脚本。

#!/bin/bash

# 定义磁盘空间阈值(单位:%)

DISK_USAGE_THRESHOLD=90

# 检查磁盘空间

df -h | awk '$5+$6 > 100' | awk '{print $1, $5}' | while read -r disk usage; do

echo "Disk $disk usage is $usage"

if [ "$usage" -gt "$DISK_USAGE_THRESHOLD" ]; then

echo "Disk $disk is full, please clean up."

fi

done

5. 备份文件

定期备份重要文件可以防止数据丢失。以下是一个单纯的文件备份Shell脚本。

#!/bin/bash

# 定义源目录

SOURCE_DIR="/path/to/source"

# 定义目标目录

DEST_DIR="/path/to/destination"

# 备份文件

tar -czvf ${DEST_DIR}/backup_$(date +%Y%m%d%H%M%S).tar.gz $SOURCE_DIR

# 检查备份文件是否生成

if [ -f "${DEST_DIR}/backup_$(date +%Y%m%d%H%M%S).tar.gz" ]; then

echo "Backup completed successfully."

else

echo "Backup failed."

fi

6. 清理日志文件

日志文件过多会占用大量磁盘空间,以下是一个清理日志文件的Shell脚本。

#!/bin/bash

# 定义日志目录

LOG_DIR="/var/log"

# 清理日志文件

find $LOG_DIR -type f -mtime +30 -exec rm {} \;

# 检查日志文件是否被删除

if [ -z "$(find $LOG_DIR -type f -mtime +30)" ]; then

echo "Log files have been cleaned up successfully."

else

echo "Failed to clean up log files."

fi

7. 监控CPU和内存使用率

监控CPU和内存使用率可以帮助我们及时发现系统瓶颈。以下是一个监控CPU和内存使用率的Shell脚本。

#!/bin/bash

# 定义监控时间(单位:秒)

MONITOR_TIME=60

# 监控CPU和内存使用率

while [ "$MONITOR_TIME" -gt 0 ]; do

echo "CPU Usage: $(top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print 100 - $1}')%"

echo "Memory Usage: $(free | grep Mem | awk '{print $3/$2 * 100.0}')%"

sleep 1

MONITOR_TIME=$((MONITOR_TIME - 1))

done

总结

以上是一些常用的Linux服务器Shell脚本,愿望能够帮助大家尽大概减少损耗工作快速。

本文由IT视界版权所有,禁止未经同意的情况下转发

热门