Aprendizagem pessoal com IA
e orientação prática
Recomendação de recursos 1

Falhas frequentes e recentes no site, que acabaram de ser recuperadas, escrevem um Wordpress usando scripts de backup automático de disco na nuvem gratuitos

Uma falha no servidor que resulta na perda de dados do site é um desastre! Se você tiver apenas um site pequeno e não puder pagar vários servidores de backup e não puder configurar backups de sites, espero que isso ajude aqueles que estão enfrentando o mesmo problema.

pertencer Servidor Linux Ele garante a segurança dos dados do site e a recuperação dos dados, mesmo que o servidor seja danificado.


especificidades ::

  • Backups programados WordPress Especificando diretórios e bancos de dados
  • Atualizar julgamento Determinar se um artigo foi atualizado para executar uma tarefa de backup
  • Carregamento automático Ir para o AliCloud
  • Limpeza automática Backups mais antigos para evitar o uso excessivo de armazenamento

 

Instale o cliente AliCloudDisk

Instalação em primeiro lugar CLI do AliCloud Disk usado para uploads de arquivos.

Ubuntu / Debian

sudo curl -fsSL http://file.tickstep.com/apt/pgp | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/tickstep-packages-archive-keyring.gpg > / dev/null && echo "deb [signed-by=/etc/apt/trusted.gpg.d/tickstep-packages-archive-keyring.gpg arch=amd64,arm64] http://file.tickstep.com /apt aliyunpan main" | sudo tee /etc/apt/sources.list.d/tickstep-aliyunpan.list > /dev/null && sudo apt-get update && sudo apt-get install -y aliyunpan

CentOS / RHEL

sudo curl -fsSL http://file.tickstep.com/rpm/aliyunpan/aliyunpan.repo | sudo tee /etc/yum.repos.d/tickstep-aliyunpan.repo > /dev/null && sudo yum install aliyunpan -y

Faça login no AliCloud Drive

login de aliyunpan

Abra a URL pop-up em seu navegador e leia o código para fazer login Em seguida, volte ao terminal e aguarde até que a mensagem "Login Successful" seja exibida.

Crie um diretório de backup local

mkdir -p /www/backup

Esse diretório será usado para armazenar backups locais; modifique-o você mesmo.

Criação de scripts de backup automatizados

existir /www/backup/ crie um novo diretório backup_wp.sh Roteiro:

nano /www/backup/backup_wp.sh

Em seguida, cole o seguinte:

#!/bin/bash
Diretório de backup do #
BACKUP_DIR="/www/backup"
WP_DIR="/home/www/wp-content" //Substitua pelo endereço do diretório para o qual você deseja fazer o backup
DB_NAME="Nome do banco de dados"
DB_USER="Número da conta do banco de dados"
DB_PASS="Senha do banco de dados"
DB_HOST="localhost"
Arquivo de armazenamento do número de artigo do #
NO_FILE="$BACKUP_DIR/no.md"
Nomeação do arquivo de backup do #
DATE=$(data + "%Y%m%d-%H%M%S")
WP_BACKUP="$BACKUP_DIR/wp-content-$DATE.tar.gz"
DB_BACKUP="$BACKUP_DIR/db-$DATE.sql"
DB_BACKUP_GZ="$DB_BACKUP.gz"
LOG_FILE="$BACKUP_DIR/backup.log"
# Defina a função de registro (tanto a saída para o terminal quanto a gravação no registro)
log() {
echo -e "$1" | tee -a "$LOG_FILE"
}
log "---------------------------"
log "[`date`] 🚀 Iniciando o backup do diretório do WordPress..."
# Verifique se o diretório do WordPress existe e não está vazio
if [ ! -d "$WP_DIR" ] || [ -z "$(ls -A "$WP_DIR")" ]; then
log "[`date`] 🚨 O diretório do WordPress está vazio, o backup falhou!"
exit 1
exit 1
# Obter o número de publicações no banco de dados
ARTICLE_COUNT=$(mysql -u "$DB_USER" -p "$DB_PASS" -h "$DB_HOST" -D "$DB_NAME" -se "SELECT COUNT(*) FROM wp_posts WHERE post_ type='post' AND post_status='publish';")
log "[`date`] 📊 Número total de postagens no banco de dados: $ARTICLE_COUNT"
# Certifique-se de que o arquivo no.md exista; caso contrário, crie-o e inicialize-o
if [ ! -f "$NO_FILE" ]; then
echo "0" > "$NO_FILE"
log "[`data`] 🆕 o arquivo no.md não existe, criado: $NO_FILE"
fi
# Leitura do número de artigos em no.md
PREVIOUS_COUNT=$(cat "$NO_FILE")
log "[`date`] 📋 lendo o número de artigos no arquivo no.md ($NO_FILE): $PREVIOUS_COUNT"
# Se o número de artigos não tiver mudado, pule o backup
if [ "$ARTICLE_COUNT" -eq "$PREVIOUS_COUNT" ]; then
log "[`data`] 🛑 O número de artigos não foi alterado, pule o processo de backup."
exit 0
fi
# atualize o arquivo no.md
echo "$ARTICLE_COUNT" > "$NO_FILE"
log "[`date`] ✍️ atualizando o arquivo no.md com o número mais recente de artigos: $ARTICLE_COUNT"
# Continuação do processo de backup
log "[`date`] 📦 Iniciando o backup do diretório do WordPress..."
tar -czf "$WP_BACKUP" "$WP_DIR" >> "$LOG_FILE" 2>&1
log "[`date`] ✅ Backup completo do diretório do WordPress: $WP_BACKUP"
log "[`date`] 📦 Iniciando o backup do banco de dados..."
if ! mysql -u "$DB_USER" -p "$DB_PASS" -h "$DB_HOST" -e "USE $DB_NAME" > /dev/null 2>&1; then
log "[`date`] 🚨 Falha na conexão com o banco de dados, verifique a configuração do banco de dados!"
exit 1
log "[`data`] 🚨 Falha na conexão com o banco de dados.
mysqldump -u "$DB_USER" -p "$DB_PASS" -h "$DB_HOST" "$DB_NAME" > "$DB_BACKUP"
log "[`date`] ✅ Exportação do banco de dados concluída: $DB_BACKUP"
log "[`date`] 📦 Comprimindo o arquivo de banco de dados..."
gzip "$DB_BACKUP"
log "[`date`] ✅ Compressão do banco de dados concluída: $DB_BACKUP_GZ"
log "[`date`] ☁️ Começando a fazer upload para aliyunpan..."
aliyunpan upload "$WP_BACKUP" /backup/ | tee -a "$LOG_FILE"
aliyunpan upload "$DB_BACKUP_GZ" /backup/ | tee -a "$LOG_FILE"
log "[`date`] ✅ Upload concluído!"
log "[`date`] 🧹 Excluindo um backup local de 7 dias atrás..."
find "$BACKUP_DIR" -type f -mtime +7 -print -exec rm -f {} \; | tee -a "$LOG_FILE"
log "[`date`] ✅ Tarefa de backup concluída!"
# Excluir o arquivo de registro
rm -f "$LOG_FILE"

Salvar e sair ::

manter a mão sobre Ctrl + X → Entrada Y → Pressione Entrar

Concessão de direitos de execução

chmod +x /www/backup/backup_wp.sh

Configuração de tarefas cronometradas (Painel do Pagode)

🔹 Adicionar tarefas agendadas ao pagode

  1. Abrir o painel do pagode
  2. entrar em Tarefas planejadas → Adição de tarefas programadas
  3. Tipo de missão opção Script de shell
  4. Nome da tarefa ::Backup automático do WordPress
  5. período de implementação ::A cada 6 horas
  6. executar um comando ::
bash /www/backup/backup_wp.sh
  1. Salvando tarefas

Testar manualmente os backups

Você pode executar um backup imediatamente para ver se funciona:

/bin/bash /www/backup/backup_wp.sh

Em seguida, verifique o registro:

tail -f /www/backup/backup.log

Se tudo estiver certo, a tarefa cronometrada será executada automaticamente.

Solução de problemas de anomalias comuns

🔍 1. backup travado em "Compressing WordPress directory" (Compactando o diretório do WordPress)

📌 Solução:

ps aux | grep backup_wp.sh
top -c # Exibir carga da CPU
ls -lh /www/backup/

Se a carga da CPU for alta, o catálogo poderá ser muito grande, basta ter paciência.

2. a tarefa é interrompida após a desconexão do SSH

Solução: use o nohup

nohup /bin/bash /www/backup/backup_wp.sh > /www/backup/backup.log 2>&1 &

Dessa forma, a desconexão do SSH não afeta a tarefa.

3. como retomar a visualização dos registros

tail -f /www/backup/backup.log

Você pode visualizar o progresso do backup em tempo real.

Como evitar conflitos quando as tarefas levam muito tempo para serem executadas

📌 Solução:mecanismo de travamento
existir backup_wp.sh Adicione no início:

if pgrep -f "backup_wp.sh" > /dev/null; then
echo "Já existe uma tarefa de backup em execução, ignore esta execução." >> /www/backup/backup.log
exit 1
exit 1

Dessa forma, uma nova tarefa não será iniciada se a última tarefa não tiver sido concluída.

Agora seu site WordPress está totalmente automatizado com backups!

🚀 Mesmo se o servidor falhar, você sempre poderá recuperar seus dados!

Conteúdo 1
Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " Falhas frequentes e recentes no site, que acabaram de ser recuperadas, escrevem um Wordpress usando scripts de backup automático de disco na nuvem gratuitos

Chefe do Círculo de Compartilhamento de IA

O Chief AI Sharing Circle se concentra no aprendizado de IA, fornecendo conteúdo abrangente de aprendizado de IA, ferramentas de IA e orientação prática. Nosso objetivo é ajudar os usuários a dominar a tecnologia de IA e explorar juntos o potencial ilimitado da IA por meio de conteúdo de alta qualidade e compartilhamento de experiências práticas. Seja você um iniciante em IA ou um especialista sênior, este é o lugar ideal para adquirir conhecimento, aprimorar suas habilidades e realizar inovações.

Entre em contato conosco
pt_BRPortuguês do Brasil