Exemplos usando shell script: mudanças entre as edições

De Wiki Cursos IFPR Foz
Ir para navegaçãoIr para pesquisar
Sem resumo de edição
Sem resumo de edição
Linha 20: Linha 20:
  #!/bin/bash
  #!/bin/bash
  cd /var/www/html
  cd /var/www/html
  tar -zcvf backupwiki.tar.gz mediawiki/
  tar -zcvf backupwwwwiki.tar.gz mediawiki/
  cp backupwiki.tar.gz /home/usuario/Backup
  cp backupwwwwiki.tar.gz /home/usuario/Backup




Linha 28: Linha 28:


  #!/bin/bash
  #!/bin/bash
  mysqldump -u root -p my_wiki > my_wiki.sql
  mysqldump -u root -psenha my_wiki > my_wiki.sql
  cd /home/usuario
  cd /home/usuario
  tar -zcvf bkpmywiki.tar.gz my_wiki.sql
  tar -zcvf backupmysqlwiki.tar.gz my_wiki.sql
  cp bkpmywiki.tar.gz /home/usuario/Backup
  cp backupmysqlwiki.tar.gz /home/usuario/Backup


=SHELL SCRIPT com variável=  
=SHELL SCRIPT com variável=  
Linha 44: Linha 44:
  DIR_ORIG="/var/www/html/mediawiki/"
  DIR_ORIG="/var/www/html/mediawiki/"
  DIR_DEST="/home/marco/Backup"
  DIR_DEST="/home/marco/Backup"
  BKP_NAME="backupwiki-${data}.tar.gz"
  BKP_NAME="backupwwwwiki-${data}.tar.gz"
  tar -zcvf ${BKP_NAME} ${DIR_ORIG}
  tar -zcvf ${BKP_NAME} ${DIR_ORIG}
  cp ${BKP_NAME} ${DIR_DEST}
  cp ${BKP_NAME} ${DIR_DEST}
Linha 54: Linha 54:
  #!/bin/bash
  #!/bin/bash
  data=$(date +%s)
  data=$(date +%s)
  mysqldump -u root -pestagio my_wiki > /home/marco/my_wiki.sql
  mysqldump -u root -psenha my_wiki > /home/marco/my_wiki.sql
  $diretorio =/home/marco/
  $diretorio =/home/marco/
  cd  $diretorio
  cd  $diretorio
  DIR_ORIG="/home/marco/my_wiki.sql"
  DIR_ORIG="/home/marco/my_wiki.sql"
  BKP_NAME="bkpmywiki-${data}.tar.gz"
  BKP_NAME="backupmysqlwiki-${data}.tar.gz"
  DIR_DEST="/home/marco/Backup/"
  DIR_DEST="/home/marco/Backup/"
  tar -zcvf ${BKP_NAME} ${DIR_ORIG}
  tar -zcvf ${BKP_NAME} ${DIR_ORIG}
  cp ${BKP_NAME} ${DIR_DEST}
  cp ${BKP_NAME} ${DIR_DEST}
  exit
  exit

Edição das 22h57min de 13 de setembro de 2016

O que é Shell Script?

É um arquivo executável, que se transforma em uma ferramenta de automação interpretado pelo shell de comandos das derivações de sistemas operacionais Linux/Unix. É uma arquivo com comandos e intruções que facilita muito as tarefas dos profissionais de TI, pois proporciona ao usuário executar ou automatizar várias tarefas para serem executadas pelo sistema. Resumindo, acaba sendo uma linguagem de programação de alto nível que é interpretada pela shell.

Iniciando a linguagem de programação Shell Script

No terminal do linux, devemos escolher um editor para criar o shell script. Como exemplo, usando o editor nano, digitamos:

nano.nomedoscript.sh

Linha inicial do script

#!/bin/bash

Esta linha, após ser digitada em um editor, invoca o bash (ou /sh no caso do shell), que interpreta e executa as instruções contidas no script.

SHELL SCRIPT sem variável

  • shell script pasta mediawiki (sem variável)

A pasta mediawiki possui toda a base de dados gerada. A seguir segue o exemplo de shell script para acessar a pasta, compactar ela e fazer a cópia para a pasta Backup. O nome "backupwiki.tar.gz" foi atribuído por escolha pessoal.

#!/bin/bash
cd /var/www/html
tar -zcvf backupwwwwiki.tar.gz mediawiki/
cp backupwwwwiki.tar.gz /home/usuario/Backup


  • shell script base de dados my_wiki do banco de dados MySQL (sem variável)

No exemplo a seguir, foi escolhida uma base de dados do MySQL, para ser o seu respectivo backup, compactação e cópia para a pasta Backup.

#!/bin/bash
mysqldump -u root -psenha my_wiki > my_wiki.sql
cd /home/usuario
tar -zcvf backupmysqlwiki.tar.gz my_wiki.sql
cp backupmysqlwiki.tar.gz /home/usuario/Backup

SHELL SCRIPT com variável

Devido a programação trabalhar com muitos valores, eles acabam variando muito em determinadas situações. Em nosso exemplo, utilizamos da variável para ser alterada quando for necessário, sem que se desvie do objetivo final do script criado.

  • shell script pasta mediawiki (com variável)

Seguindo a mesma descrição dos scripts criando sem variável, segue o script com variável da pasta "mediawiki". Este script vai gerar um arquivo compactado, que terá um nome, seguido de um número, que representa a hora, dia e mês em que foi criado.

#!/bin/bash
data=$(date +%s)
$DIR=/var/www/html
cd $DIR
DIR_ORIG="/var/www/html/mediawiki/"
DIR_DEST="/home/marco/Backup"
BKP_NAME="backupwwwwiki-${data}.tar.gz"
tar -zcvf ${BKP_NAME} ${DIR_ORIG}
cp ${BKP_NAME} ${DIR_DEST}
exit


  • shell script pasta my_wiki (com variável)

Abaixo segue o script com variável da pasta de base de dados my_wiki do banco de dados do MySQL. Em relação ao script sem variável da mesma pasta citada acima, observa-se o uso das variáveis como diferencial. Este script vai gerar um arquivo compactado, que terá um nome seguido de um número, que representa a hora, dia e mês em que foi criado.

#!/bin/bash
data=$(date +%s)
mysqldump -u root -psenha my_wiki > /home/marco/my_wiki.sql
$diretorio =/home/marco/
cd  $diretorio
DIR_ORIG="/home/marco/my_wiki.sql"
BKP_NAME="backupmysqlwiki-${data}.tar.gz"
DIR_DEST="/home/marco/Backup/"
tar -zcvf ${BKP_NAME} ${DIR_ORIG}
cp ${BKP_NAME} ${DIR_DEST}
exit