Shell script é uma linguagem de script usada em vários sistemas operacionais, com diferentes dialetos, dependendo do interpretador de comandos utilizado. Um exemplo de interpretador de comandos é o bash, usado na grande maioria das distribuições GNU/Linux. A maior parte dos usuários classificam shell script como uma linguagem de fácil aprendizagem.
Na linha de comandos de um shell, podemos utilizar diversos comandos um após o outro, ou mesmo combiná-los numa mesma linha. Se colocarmos diversas linhas de comandos em um arquivo texto simples, teremos em mãos um Shell Script, ou um script em shell, já que Script é uma descrição geral de qualquer programa escrito em linguagem interpretada, ou seja, não compilada. Outros exemplos de linguagens para scripts são o PHP, Perl, Python, JavaScript e muitos outros. Podemos então ter um script em php, um script perl e assim em diante.
Uma vez criado, um ShellScript pode ser reutilizado quantas vezes for necessário. Seu uso, portanto, é indicado na automação de tarefas que serão realizadas mais de uma vez. Todo sistema Unix e similares são repletos de scripts em shell para a realização das mais diversas atividades administrativas e de manutenção do sistema.
O curso de Programação Shell Script ensina a automatizar toda a produção em máquinas com sistema operacional Linux ou Unix, além de resolver de forma muito rápida diversos problemas do cotidiano. Shell Script é uma linguagem de programação utilizada em diferentes sistemas operativos e o domínio do Shell Script proporciona a otimização de tarefas que são executadas com frequência.
O curso é ministrado por Julio Cezar Neves, autor do livro "Programação Shell Linux" sendo hoje a referência de programação em Shell Script e migração para Software Livre. Com diversos apêndices incorporados – como awk, expressões regulares, CGIs e Dialog – o livro é uma referência sobre todo o ambiente Shell Script, com dicas e aplicações para o dia-a-dia de analistas, programadores e operadores que utilizam esses sistemas operacionais.
Técnicos, analistas, operadores, administradores de ambientes de infra-estrutura e desenvolvedores que desejam otimizar as tarefas diárias utilizando a linguagem Shell Script.
Esta etapa do curso visa a capacitação dos alunos na resolução de problemas, preparando-o para diferentes cenários do dia a dia profissional. Foi desenvolvida de forma que o aluno possa testar e aplicar os conhecimentos obtidos durante as aulas, para identificação e correção de falhas previamente elaboradas pelos técnicos da 4Linux.
01 Livro - Programação Shell - Linux com CD, do autor Julio Cezar Neves, 7a edição.A carga horária do curso varia de acordo com a modalidade:
Curso presencial:
40 horas
Noturno: 2 semanas de segunda a sexta, 4 horas diárias.
Diurno: 1 semana de segunda a sexta, 8 horas diárias.
32 horas
Finais de Semana: 2 sábados + 2 domingos, 8 horas diárias.
O curso é prático (hands-on) aborda a automatização de administração nos sistemas GNU/Linux utilizando scripts com as linguagens BASH, Perl e Python (não é necessário ser um programador experiente para automatizar tarefas em servidores que aumentarão a produtividade do SysAdmin). O administrador de sistemas aprenderá a criar scripts para otimizar e automatizar várias tarefas do seu dia a dia como backup, gerência de usários, monitoração e troubleshooting de serviços, agendamentos, alertas e respostas à incidentes.
Administradores de sistemas e redes baseados em GNU/Linux, interessados em automatizar tarefas do dia a dia, monitorar processos eficientemente, agendar tarefas e facilitar a obtenção de informações com scripts, de maneira clara e organizada. Este curso é para quem sabe o que precisa, mas quer aprender uma forma mais rápida, precisa e automática de chegar ao objetivo desejado.
Automatizando tarefas o SysAdmin ganha produtividade e fica menos suscetível a erros manuais. Com a automatização em scripts, é possível levantar e configurar servidores em poucos minutos! Ao invés de perder tempo colhendo informações e configurando vários serviços um por um, o SysAdmin pode automatizá-las tornando-se extremamente eficaz e com sobra de tempo para outras atividades necessárias ao negócio da empresa em que trabalha.
Saber programar não é tudo. É preciso conhecer os principais serviços para tirar proveito da administração do sistema com scripts. Os scripts deste curso são orientados ao tratamento de informações e automatização de tarefas dos principais serviços de administração de servidores Linux, o que difere de um curso de Scripting convencional. Conhecer os detalhes de implementação e comportamento de cada serviço server-side é essencial para automatizar bem tais tarefas.
Como administrador de sistemas, o profissional precisa conhecer maneiras eficientes e eficazes de monitorar e resolver problemas. O curso fornece toda a base de programação com scripting necessária para um administrador de sistemas automatizar e otimizar soluções, inclusive abordando aspectos para o conteúdo de shell da certificação LPI.
Construção de scripts
Tipos de problemas que podem ser resolvidos com shell scripting
Como definir o que é possível com scripts?
Esqueleto de um script
Cabeçalho e comentários
Por que BASH, Python e Perl?
Diferenças de performance e flexibilidade
Evolução das linguagens
Boas práticas na escrita de scripts
Identação
Tratamento de erros
Retorno de execução
Segurança de execução
Executando tarefas com scripts
Gerenciando usuários do sistema.
Adicionando e removendo usuários via scripts.
Bloqueando e desbloqueando usuários.
Tratando arquivos de log
Rotacionando logs
Geração de logs específicos
Uso de filtros grep com ER
Monitorando processos
Comandos ps e top
O comando pgrep
kill e invoke-rc.d
Gerando menus de texto com o usuário
Criando um menu de opções de listagens de arquivos
Personalização de cores e sons num menu de texto
Backup e cópia de arquivos
Criando um script de backup
Utilizando cp, tar e gzip para criar arquivos de backup
Adicionando data automática nos arquivos de backup
Sincronizando backups entre servidores
rsync
rdiff-backup
Rede e conectividade
Executando comandos remotamente
Trabalhando com o SSH e par de chaves
Gerenciando conexões TCP/IP
O comando netstat e seus parâmetros
Verificando portas abertas com telnet
Checando serviços de rede com nmap
Testando webservices
Usando o cURL
Uso do wget em casos especiais
Monitorando conectividade e desempenho
Banco de dados
MySQL e PostgreSQL
INSERT, UPDATE e SELECT via scripts
Backup e restauração de bases
OpenLDAP (BDB/HDB)
Queries LDAP via scripts
Tratando a saída do comando slapcat
Restauração em caso de falhas
Alertas de monitoração
Como obter o resultado da execução de um script
Variáveis de retorno
Captura de erros
Alertas por e-mail e Twitter
Criando scripts para enviar e-mails com informações.
Usando o Gmail com SSL para enviar arquivos via script.
Uso da API do Twitter com o cURL.
Usando o bti para twittar alertas.
Resposta à incidentes
Adicionando inteligência a seus scripts.
Reiniciando serviços automaticamente, com base em logs.
Scripts interativos
Telas gráficas
dialog
zenity
Criando um programa de instalação
Verificando requisitos
Gerando log de instalação
Cópia de arquivos e ajuste de permissões
Criando um desinstalador
CGI scripting
O que é CGI
Exibção do corpo HTML
Retornando informações ao usuário
Reforçando a segurança
Ou ter conhecimentos equivalentes ao curso 452 – Linux Network Servers Presencial ou 457 – Linux Network Servers EAD.
Para você acompanhar este curso pela Internet com qualidade, é necessário que você tenha uma infraestrutura mínima com as seguintes características:
Caso faça o curso na modalidade EAD, para acompanhar este curso pela Internet com qualidade, é necessário que você tenha uma infraestrutura mínima com as seguintes características:
Importante: Não é possível fazer o curso com conexão discada. Também não recomendamos conexões 3G.
Curso à distância:
A carga horária do curso varia de acordo com a modalidade:
Curso à distância
74 horas, nas quais:
34 horas de aulas são síncronas ao vivo com o professor através de vídeo-conferência.
38 horas (no mínimo) são assíncronas e obrigatórias para melhor desempenho do aluno. Estas horas são controladas pelo aluno que deverá ler o material didático, documentações e tutoriais Metodologia TripleClass. A metodologia chama-se TripleClass porque são três aulas para cada aula.
2 horas são de ambientação para apresentação da Metodologia TripleClass e do ambiente de ensino à distância da 4Linux, chamado NetClass.