SCM - Compressão em Massa
Publicado por Slackjeff (última atualização em 28/06/2018)
[ Hits: 1.526 ]
Homepage: https://slackjeff.com.br
Simples compressão em massa (bash, ksh, zsh).
Modo de uso e outras informações:
https://notabug.org/jeffersonrocha/scm/raw/master/README.md
#!/usr/bin/env bash #=============HEADER================================================| #AUTOR # Jefferson Rocha <lrcjefferson@gmail.com> # #PROGRAM # SCM - Simple Compreension Mass # #DESC # #TESTED SHELLS: # Bash: version 4.3.48 # Ksh: version 93u+ # Zsh: version 5.2 # #CHANGELOG #===================================================================| #=========VARS============================| #==CONFIGURATIONS # Create MD5 file? MD5="0" # 0 OFF | 1 ON readonly NAME="SCM" readonly VERSION="0.1" #==Colors bold=$(tput bold) fg_error=$(tput setaf 1) fg_ok=$(tput setaf 2) fg_end=$(tput sgr0) #=========================================| #=========TESTES==========================| deps=("gzip" "tar" "md5sum") # program dependencies for x in "${deps[@]}"; { if ! type -p "${x}" 1> /dev/null 2>&1; then # MD5 enabled and installed on system? if [ "${x}" = "${deps[2]}" ] && [ "$MD5" = "1" ] ; then printf "${bold}${fg_error}U NEED INSTALL '${x}' FOR CONTINUE;${fg_end}\n" exit 1 else continue fi printf "${bold}${fg_error}U NEED INSTALL '${x}' FOR CONTINUE;${fg_end}\n" fi } #=========================================| #========FUNCTIONS========================| USAGE(){ cat <<EOH USAGE HERE. EOH exit 0 } _COMPRESS(){ # Local variables: typeset INPUT_TYPE typeset ARCHIVE until [ -z "$1" ]; do # Main loop [ -d "$1" ] && INPUT_TYPE="DIRECTORY" || INPUT_TYPE="ARCHIVE" # Input type. [ ! -w "$1" ] && { printf "NO PERMISSION!"; continue ;} # Have permission write? ARCHIVE="${1/%\//}-${INPUT_TYPE}.gz" if tar cf - "$1" | gzip -9 > "${ARCHIVE}"; then [ "$MD5" = "1" ] && md5sum "${ARCHIVE}" > "${ARCHIVE}.md5" # ON? Generate .md5 file printf "${bold}${fg_ok}'${1}'......\t[OK]${fg_end}\n" else printf "${bold}${fg_error}'${1}......\t[ERROR]'${fg_end}\n" fi shift # Downnn! done } #=========================================| # no params? go function. [ "$#" = "0" ] && USAGE ################# # MAINLAND here # ################# if [ "$1" = "compress" ]; then shift # Palmeiras if [ -z "$1" ]; then USAGE else _COMPRESS "$@" fi elif [ "$1" = "usage" ] || [ "$1" = "help" ]; then USAGE fi
Cálculo de número perfeito range
Script para enviar put para uma API usando curl e dados no formato json
Formatar disquetes msdos & ext2.
Alguns riffs do Rock tocados com o comando beep
Nenhum coment�rio foi encontrado.
Servidor de Backup com Ubuntu Server 24.04 LTS, RAID e Duplicati (Dell PowerEdge T420)
Visualizar câmeras IP ONVIF no Linux sem necessidade de instalar aplicativos
Atualizar Debian Online de uma Versão para outra
Proteja seu Linux Mint com o Timeshift: Restaure o sistema mesmo que ele não inicie!
Instalando Google Chrome no Debian 13
Alguém pode me recomendar um editor de textos? (0)
meus dois pen drives não são mais reconhecidos pelo meu PC apos tentar... (1)