= Kopie zapasowe (backupy) systemu eDokumenty w Linux = Poniższy artykuł przedstawia 1. Backup bazy danych 2. Backup files 3. Backup public_html 4. Backup repos 5. Backup repository 6. Backup public_ftp oraz users - Opcjonalnie 7. Backup na zewnętrznym nośniku '''5. Backup repository'''[[BR]] Poniższy skrypt wykonuje kopię plików z katalogu repository - plików wersjonowanych {{{ #!/bin/bash DST="/mnt/backup/repository" if [ -d $DST ] then sleep 1 else mkdir $DST fi rsync -a /home/edokumenty/repository/ /mnt/backup/repository/ }}} {{{ #!/bin/bash DST="/mnt/backup/user_files" if [ -d $DST ] then sleep 1 else mkdir $DST fi rsync -a /home/edokumenty/public_ftp/ /mnt/backup/user_files/ rsync -a /home/edokumenty/users/ /mnt/backup/user_files/ }}} '''6. Backup public_ftp oraz users - Opcjonalnie'''[[BR]] Poniższy skrypt wykonuje kopię plików z katalogu public_ftp oraz users '''7. Backup na zewnętrznym nośniku'''[[BR]] Poniższy skrypt wykonuje kopię danych z serwera eDokumentów na dysk zewnętrzny {{{ FTP_HOST=[ADRES_IP_SERVERA]:21 FTP_USER=[LOGIN] FTP_PWD=[HASŁO] LOCAL_SOURCE_PATH=/home/edokumenty/backup/${1} #param 1 from script for example REMOTE_DEST_PATH=/edokumenty EXCLUDE_FILES_LIST=".svn empty anotherDirectory" # Construct excludes for exclude in ${EXCLUDE_FILES_LIST}; do EXCLUDES="-x ${exclude} ${EXCLUDES}" done # -R, --reverse reverse mirror (put files) # mirror -e #--delete delete files not present at remote site lftp ftp://${FTP_USER}:${FTP_PWD}@${FTP_HOST} -e "mirror ${EXCLUDES} -R ${LOCAL_SOURCE_PATH} ${REMOTE_DEST_PATH} ; quit" }}} FTP_HOST - adres serwera na którym mają zostać zapisane pliki[[BR]] FTP_USER - login użytkownika który ma dostęp do serwera plików[[BR]] FTP_PWD - hasło użytkownika[[BR]] LOCAL_SOURCE_PATH - lokalizacja z której będzie wykonywany backup plików[[BR]] REMOTE_DEST_PATH - lokalizacja do której będzie wykonywany backup plików[[BR]]