Maison  >  Article  >  base de données  >  Comment écrire un script pour que Vps sauvegarde automatiquement les bases de données Web et MySQL sous Linux

Comment écrire un script pour que Vps sauvegarde automatiquement les bases de données Web et MySQL sous Linux

WBOY
WBOYavant
2023-05-26 12:34:061207parcourir

1. Sauvegardez le dossier Web
1. Sauvegardez le répertoire /home/users/public_html
2 Modifiez la crontab pour qu'elle s'exécute à 3h22 le premier jour de chaque semaine

Copiez le code Le code. est le suivant :

22 3 * * 0 root run-parts /etc/cron.weekly

3 Copiez le script dans le répertoire /etc/cron.weekly
4. Modifier les autorisations

Copier le code Le code est. comme suit :

chmod 0755 /etc/cron.weekly/webbackup .sh

5 Le script est le suivant

Copiez le code Le code est le suivant :

#!/bin/sh
filename=`. date +%y%m%d`
backup_dir="/root/dropbox/backup/web"
#supprimer tous les fichiers il y a 10 jours
find $backup_dir -mtime +30 -name "*" -exec rm -rf {} ;
#chaque utilisateur que vous souhaitez sauvegarder
users="baidu sina"
pour l'utilisateur dans ${users } ; 6. Notez que la phrase du nom de fichier n'est pas un guillemet simple, elle se trouve au-dessus de la touche de tabulation
7 Le nom de l'utilisateur à sauvegarder Dans le répertoire public_html, renseignez l'utilisateur dans users

2. base de données



1. Pour des raisons de sécurité, créez une nouvelle sauvegarde utilisateur, utilisez un mot de passe fort (généré automatiquement) et les autorisations globales sont sélectionnées, verrouillez les tables2, démarrez l'exécution à 3h00 tous les jours, modifiez la crontab3. Copiez le script dans /etc/cron.daily
4. Modifier les autorisations
5. Contenu du script


Copier le code Le code est le suivant :

#!/bin/sh

dbuser="backup"

dbpassword="youpassword". "

datas="db1 db2 db3"

filename=`date +%y%m%d`
bin_dir="/usr/local/mysql/bin"
backup_dir="/ root/dropbox/backup/mysql"
# supprimer tous les fichiers il y a 10 jours
trouver $backup_dir -mtime +10 -name "*" -exec rm -rf {} ;
#faire chaque sauvegarde de base de données
pour les données dans ${datas } ; opt -u$dbuser -p$dbpassword $data | gzip > $backup_dir/$data$filename.sql.gz
done

6. Identique à l'élément précédent 6
7. Remplissez les données pour la base de données à sauvegarder. debout

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer