Pourriez-vous s'il vous plaît quelqu'un guide pour la sauvegarde incrémentale ci-dessous script, j'ai déjà écrit le script. Je suis confronté à un problème lors du bouclage du script.
Besoin J'ai besoin de : Considérer un dossier source contient A, B, C quand j'ai exécuté le script A, B, C va se déplacer vers le dossier de destination. De nouveau dans le dossier source de nouveaux fichiers/répertoires ajoutés c'est à dire D,E quand de nouveau si j'ai exécuté le script maintenant il devrait vérifier les fichiers déjà présents. Ici dans notre cas A,B,C est déjà présent dans la destination. Donc seulement D,E doivent être déplacés vers la destination.
A partir du code ci-dessous, je suis capable de sauvegarder, mais comment faire en boucle ?
#!/bin/bash
####################################
#
# Backup IS server script script.
#
####################################
# What to backup.
Integrationserver="/home/ec2-user/source"
# Where to backup to.
dest="/home/ec2-user/destination"
# Create archive filename.
#date=$(date +%F)
IS=source
hostname=$(hostname -s)
#archive_file="$hostname-$IS-$date.tar.gz"
archive_file="$hostname-$IS.tar.gz"
# Print start status message.
echo "Backing up $Integrationserver to $dest/$archive_file"
date
echo
# Backup the files using tar.
tar --exclude=/home/ec2-user/source/logs* --exclude=/home/ec2-user/source/TC* -zcf $dest/$archive_file $Integrationserver
# Print end status message.
echo
echo "Backup finished"
date
- Le code ci-dessous fonctionne bien avec toutes les conditions et les exigences, mais je ne suis pas sûr de savoir comment exclure les répertoires multiples s'il vous plaît guide
#!/bin/bash source=/home/ec2-user/source dest=/home/ec2-user/destination for file in $(find $source -printf "%P\n") ; do if [ -a $dest/$file ] ; then if [ $source/$file -nt $dest/$file ]; then echo "Newer file detected, copying .." cp -r $source/$file $dest/$file else echo "File $file exists, skipping" fi else echo "$file is being copied over to $dest" cp -r $source/$file $dest/$file fi done