テキストファイルを一定の大きさに分割する
#!/bin/sh #log_split.sh lpf=100 #100行ごとに分割 if [ $# -ne 1 ]; then echo "Usage: log_split.sh logfile" exit 1 fi #対象ファイルの名前とディレクトリ名を除いた名前をセット logfile="$1" splitbase=`basename "$1"`. #ファイルを分割し分割に成功した場合はそれを圧縮する if split -l $lpf "$logfile" "$splitbase"; then for split in "$splitbase"*; do gzip "$split" done fi
$ ./log_split.sh /var/log/setup.log $ ls setup.log.aa.gz setup.log.ab.gz setup.log.ac.gz setup.log.ad.gz