Shell脚本实例

秋天的童话 2020-06-26 ⋅ 11 阅读

引言

Shell脚本是一种自动化任务的脚本语言,可以用于批量处理、系统管理、快速部署等任务。本文将介绍一些实用的Shell脚本示例,帮助您更好地了解和利用Shell脚本。

脚本示例

1. 目录备份脚本

#!/bin/bash

# 定义备份文件名
backup_filename="backup_$(date +'%Y%m%d%H%M%S').tar.gz"

# 定义备份目录
backup_dir="/path/to/backup"

# 定义待备份的目录
source_dir="/path/to/source"

# 备份源目录
tar -zcvf "$backup_dir/$backup_filename" "$source_dir"

# 删除过期备份 (保留最近30个备份)
ls -t "$backup_dir" | tail -n +31 | xargs -I {} rm "$backup_dir/{}

2. 域名解析检测脚本

#!/bin/bash

# 定义待检测的域名列表
domain_list=("example1.com" "example2.com" "example3.com")

# 循环检测域名解析
for domain in "${domain_list[@]}"
do
    ip=$(dig +short "$domain")
    
    if [[ -z $ip ]]; then
        echo "域名 $domain 解析失败"
    else
        echo "域名 $domain 解析成功,IP地址为 $ip"
    fi
done

3. 文件监控脚本

#!/bin/bash

# 定义监控的文件
file_to_monitor="/path/to/file"

# 获取文件的初始修改时间
initial_mtime=$(stat -c %Y "$file_to_monitor")

# 循环检测文件是否被修改
while true
do
    current_mtime=$(stat -c %Y "$file_to_monitor")
    
    if [[ $current_mtime -gt $initial_mtime ]]; then
        echo "文件 $file_to_monitor 被修改"
        initial_mtime=$current_mtime
    fi
    
    sleep 10
done

结论

本文介绍了几个实用的Shell脚本示例,涵盖了备份、域名解析检测和文件监控等常见场景。通过学习和使用Shell脚本,您可以更加方便地自动化各种任务,并提高工作效率。希望本文对您有所帮助!


全部评论: 0

    我有话说: