├── README.md └── backup.sh /README.md: -------------------------------------------------------------------------------- 1 | # easybackup 2 | A Short and Easy Website Files/DB FTP Backup Script 3 | 4 | Works for websites with single DB. 5 | 6 | ## First time setup: 7 | 8 | ### For Ubuntu/Debian: 9 | ``` 10 | apt-get install ftp -y 11 | wget https://raw.githubusercontent.com/Har-Kuun/easybackup/master/backup.sh && chmod +x backup.sh && mkdir ~/backup 12 | ``` 13 | ### For CentOS/Fedora: 14 | ``` 15 | yum install ftp -y 16 | wget https://raw.githubusercontent.com/Har-Kuun/easybackup/master/backup.sh && chmod +x backup.sh && mkdir ~/backup 17 | ``` 18 | 19 | ### Then: 20 | Edit the 2-12 lines of backup.sh with your own DB credentials, FTP credentials, and your file paths. 21 | 22 | ## To Backup: 23 | ```./backup.sh``` 24 | 25 | ### If you are looking for a stable FTP backup storage service, take a look at [1fichier](https://1fichier.com/?af=2896848). 26 | 27 | Thanks for using this script. 28 | -------------------------------------------------------------------------------- /backup.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | MYSQL_USER=root 3 | MYSQL_PASS=MySQLrootPassWord 4 | MYSQL_DB_NAME=mywordpressdb 5 | FTP_HOST=ftp.1fichier.com 6 | FTP_PORT=21 7 | FTP_USER=myftpuser 8 | FTP_PASS=myftppassword 9 | FTP_PATH=/ 10 | WEB_FILES_PATH=/srv/www/example.com 11 | LOCAL_BACKUP_PATH=~/backup 12 | WEBSITE_NAME=example.com 13 | 14 | 15 | 16 | DB_BACKUP_FILE_NAME=$WEBSITE_NAME.$(date +"%Y%m%d").db 17 | WEBSITE_FILES_BACKUP_FILE_NAME=$WEBSITE_NAME.$(date +"%Y%m%d").webfiles 18 | mysqldump -u $MYSQL_USER -p$MYSQL_PASS $MYSQL_DB_NAME > $DB_BACKUP_FILE_NAME.sql 19 | tar zcf $LOCAL_BACKUP_PATH/$DB_BACKUP_FILE_NAME.tar.gz *.sql 20 | rm -f $DB_BACKUP_FILE_NAME.sql 21 | tar zcf $LOCAL_BACKUP_PATH/$WEBSITE_FILES_BACKUP_FILE_NAME.tar.gz $WEB_FILES_PATH 22 | ftp -v -n $FTP_HOST $FTP_PORT<< END 23 | user $FTP_USER $FTP_PASS 24 | type binary 25 | passive 26 | cd $FTP_PATH 27 | put $LOCAL_BACKUP_PATH/$DB_BACKUP_FILE_NAME.tar.gz 28 | put $LOCAL_BACKUP_PATH/$WEBSITE_FILES_BACKUP_FILE_NAME.tar.gz 29 | bye 30 | END 31 | --------------------------------------------------------------------------------