你提到的 CentOS 中的 extract 配置,可能有几种不同含义,下面我分别说明,你可以对照自己的场景:
CentOS 本身没有叫 extract 的命令,通常是 解压文件 的操作。
# tar
tar -xvf file.tar
tar -xzvf file.tar.gz
tar -xjvf file.tar.bz2
tar -xJvf file.tar.xz
# zip
unzip file.zip
# rar
unrar x file.rar
如果是 写脚本自动解压:
extract() {
if [ -f "$1" ]; then
case "$1" in
*.tar) tar -xvf "$1" ;;
*.tar.gz) tar -xzvf "$1" ;;
*.zip) unzip "$1" ;;
*) echo "不支持的格式" ;;
esac
fi
}
在 logrotate 中 没有 extract 参数,可能是你记错了,相关的是:
compress
uncompresscmd
示例:
/var/log/app/*.log {
daily
rotate 7
compress
delaycompress
}
如果你是在用 Ansible:
- name: 解压文件
unarchive:
src: /tmp/app.tar.gz
dest: /opt/app
remote_src: yes
例如 mysqldump / xtrabackup:
# 解压备份
xbstream -x < backup.xb
如果你是在做 系统定制 / kickstart / ISO 解包:
mkdir /mnt/iso
mount -o loop CentOS.iso /mnt/iso
cp -r /mnt/iso /tmp/centos-extract
我可以给你 精确配置示例。