PplWare Mobile

Aprenda a agendar ações no Linux com o Cron

                                    
                                

Autor: Pedro Pinto


  1. Rui Paiva says:

    Muito bem explicado!

  2. José Maria Oliveira Simões says:

    No crontab tenho 2 linhas que fazem maravilhas

    Introduzo crontab -l e mostro os segredos. Hás 8 horas tem 2 comandos que são executados

    # m h dom mon dow command
    0 8 * * * /home/zemaria/scripts/backup/mysqlbackup/mysql_backup.sh | at -M now
    1 8 * * * /home/zemaria/scripts/backup/backupsites.sh | at -M now

    O script mysql_backup.sh tem o seguinte condigo

    #!/bin/bash
    DB_BACKUP=”/opt/backups/mysql_backup/`date +%Y-%m-%d`”
    # this password is in /etc/mysql/debian.cnf
    DB_USER=”debian-sys-maint”
    DB_PASSWD=”NRj0xQSkWbSpZIOA”
    HN=`hostname | awk -F. ‘{print $1}’`
    # Create the backup directory
    mkdir -p $DB_BACKUP
    # Remove backups older than 10 days
    #find /opt/backups/mysql_backup/ -maxdepth 1 -type d -mtime +10 -exec rm -rf {} \;

    # Backup each database on the system
    for db in $(mysql –user=$DB_USER –password=$DB_PASSWD -e ‘show databases’ -s –skip-column-names|grep -viE ‘(staging|performance_schema|information_schema)’);
    do mysqldump –user=$DB_USER –password=$DB_PASSWD –events –opt –single-transaction $db | gzip > “$DB_BACKUP/mysqldump-$HN-$db-$(date +%Y-%m-%d).gz”;
    done

    O script backupsites.sh tem o seguinte codigo

    #!/bin/bash
    # ###########################
    # Data 2023/04/06
    # Versão 1.0
    # José Maria Oliveira Simões
    # ###########################
    #set -xv
    echo “Inicio de backup dos sites”
    DB_BACKUP=”/home/zemaria/Documents/sites/`date +%Y%m%d`”
    if [ -d $DB_BACKUP ] ;
    then
    echo “Já existe o directorio”;
    cd $DB_BACKUP
    if [ `find . -type f | wc -l` -ge 1 ];
    then
    echo “Existem arquivos dentro do directorio”;
    else
    echo “Nao existem arquivos dentro do directorio”;
    echo “Inicio de copia de arquivos”;
    cd $DB_BACKUP
    cp -R /var/www/html/* .
    echo “A copia foi feita”;
    fi
    cd –
    else
    echo “Não existe o directorio”;
    echo “O directorio vai ser criado”;
    mkdir -p $DB_BACKUP
    cd $DB_BACKUP
    echo “inicio da copia de arquivos”;
    cp -R /var/www/html/* .
    echo “O directorio foi criado e os arquivos foram copiados”;
    cd –
    fi
    echo “Fim do backup dos sites”

Deixe um comentário

O seu endereço de email não será publicado.

You may use these HTML tags and attributes: <a href="" title="" rel=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

Aviso: Todo e qualquer texto publicado na internet através deste sistema não reflete, necessariamente, a opinião deste site ou do(s) seu(s) autor(es). Os comentários publicados através deste sistema são de exclusiva e integral responsabilidade e autoria dos leitores que dele fizerem uso. A administração deste site reserva-se, desde já, no direito de excluir comentários e textos que julgar ofensivos, difamatórios, caluniosos, preconceituosos ou de alguma forma prejudiciais a terceiros. Textos de caráter promocional ou inseridos no sistema sem a devida identificação do seu autor (nome completo e endereço válido de email) também poderão ser excluídos.