Δημοσιεύτηκε: 19 Αύγ 2008, 20:28
από The_Mentor
Ο sudobash έχει γράψει έναν οδηγό σχετικά με προγραμματισμένες εργασίες. Μια τέτοια εργασία είναι και η αυτόματη λήψη Backup μέσω ενός script.
Το παρακάτω script λειτουργεί πάνω απο χρόνο σε δικούς μου servers και για τις δικές σας ανάγκες πιθανόν να χρειάζεται μικροαλλαγές κυρίως στο ποιά folder χρειάζετε να πάρετε backup.
Το script σώζει σε 2ο δίσκο (/media/disk) το αρχείο backup και κρατάει 7 μέρες backup προς τα πίσω. Την όγδοη μέρα σβήνει το πρώτο και αντικαθιστά με το νεότερο (FirstIN FirstOUT = FIFO).

Κώδικας: Επιλογή όλων
#!/bin/sh
############################################
#
# (Info about)
#
############################################
#
# (Date Installed)
#
############################################
#
# (Other info about editing etc)
#
############################################
# files to backup.
backup_files="/home /var/www /etc /root /boot /opt"

# Where to backup to.
dest="/media/disk/backup"

# Create archive filename.
day=$(date +%A)
hostname=$(hostname -s)
archive_file="$hostname-$day.tgz"

# Print start status message.
echo "Backing up $backup_files to $dest/$archive_file"
date
echo

# Backup the files using tar.
tar czf $dest/$archive_file $backup_files

# Print end status message.
echo
echo "Backup finished"
date

# Long listing of files in $dest to check file sizes.
ls -lh $dest


Στα backup_files μπορείτε να βάλετε όποια folder θέλετε (=χρειάζεστε).

Σώζετε το παραπάνω σε ένα αρχείο backup.sh και το κάνετε εκτελέσιμο.

Κώδικας: Επιλογή όλων
chmod +x backup.sh


τοποθετήστε το στο /usr/local/bin και με το το crontab του Mulder το προγραμματίζετε να εκτελείτε όποτε το θέλετε...

Το δικό μου crontab είναι αυτό:

Κώδικας: Επιλογή όλων
0 0 * * * bash /usr/local/bin/backup.sh


και εκτελεί όπως βλέπετε το backup.sh κάθε μέρα στις 00.00