sudo nano /usr/local/bin/backup
sudo chmod 755 /usr/local/bin/backup
ssh username@server.xyz -t '/usr/local/bin/backup'
scp username@server.xyz:backup*.7z /mnt/newton/yedek/websites
sshpass -p password ssh username@server.xyz -t '/usr/local/bin/backup'
sshpass -p password scp username@server.xyz:backup*.7z /mnt/newton/yedek/websites
sshpass -p password ssh username@server.xyz -t 'rm /home/username/backup*'
mail -A /home/username/backup*.7z -s backup_$(date +"%Y_%m_%d") myemail@gmail.com <<< 'Backup'
#!/bin/bash USERNAME=abdullah NEEDED_COMMANDS="smartctl" PATH="$PATH:/usr/bin:/usr/sbin" DISKS="/dev/sda" # Checking if all needed programs are available on system for COMMAND in $NEEDED_COMMANDS do if ! hash "$COMMAND" > /dev/null 2>&1 then echo "$COMMAND not found on system" 1>&2 exit 1 fi done FLAG=1 mkdir /home/${USERNAME}/backup_$(date +"%Y_%m_%d") || FLAG=0 if [ -a /home/${USERNAME}/backup_$(date +"%Y_%m_%d") ] then echo else echo exit 1 fi echo echo "------------------------------------------------------------------------------" echo cd /home/${USERNAME}/backup_$(date +"%Y_%m_%d") || FLAG=0 echo "Copying files ..." echo # Checking disks for DISK in $DISKS do smartctl -Hi $DISK > ./diskinfo.txt done mkdir ./system || FLAG=0 cp /etc/fstab ./system || FLAG=0 cp /etc/hosts ./system || FLAG=0 cp /etc/hosts.allow ./system || FLAG=0 cp /etc/hosts.deny ./system || FLAG=0 cp /etc/default/grub ./system || FLAG=0 cp /home/${USERNAME}/.bashrc ./system/bashrc || FLAG=0 if [ -a /etc/exports ] then mkdir exports cp /etc/exports ./exports || FLAG=0 else echo "/etc/exports does not exist." echo fi if [ -a /etc/fail2ban ] then mkdir fail2ban_filter.d cp /etc/fail2ban/filter.d/recidive.conf ./fail2ban_filter.d || FLAG=0 cp /etc/fail2ban/filter.d/sshd.conf ./fail2ban_filter.d || FLAG=0 cp /etc/fail2ban/filter.d/nginx-noproxy.conf ./fail2ban_filter.d cp /etc/fail2ban/filter.d/nginx-nohome.conf ./fail2ban_filter.d cp /etc/fail2ban/filter.d/nginx-noscript.conf ./fail2ban_filter.d cp /etc/fail2ban/filter.d/nginx-badbots.conf ./fail2ban_filter.d cp /etc/fail2ban/filter.d/nginx-http-auth.conf ./fail2ban_filter.d || FLAG=0 cp /etc/fail2ban/jail.local ./fail2ban_jail.local || FLAG=0 else echo "/etc/fail2ban does not exist." echo fi if [ -a /etc/nginx ] then mkdir nginx || FLAG=0 cp /etc/nginx/nginx.conf ./nginx || FLAG=0 cp -r /etc/nginx/sites-available ./nginx/sites_available || FLAG=0 else echo "/etc/nginx does not exist." echo fi if [ -a /etc/postfix ] then mkdir postfix cp /etc/postfix/main.cf ./postfix || FLAG=0 else echo "/etc/postfix does not exist." echo fi if [ -a /etc/php/7.0/fpm ] then mkdir php || FLAG=0 cp /etc/php/7.0/fpm/pool.d/www.conf ./php/php5_fpm_pool.d_www.conf || FLAG=0 cp /etc/php/7.0/fpm/php.ini ./php || FLAG=0 else echo "/etc/php/7.0/fpm does not exist." echo fi echo "------------------------------------------------------------------------------" echo echo "Compressing files ..." sleep 2 7za a -ms=on -mhe=on -y /home/${USERNAME}/backup_$(date +"%Y_%m_%d").7z /home/${USERNAME}/backup_$(date +"%Y_%m_%d") || FLAG=0 echo echo "------------------------------------------------------------------------------" echo echo "Removing temporary files ..." sleep 1 rm -fr /home/${USERNAME}/backup_$(date +"%Y_%m_%d") || FLAG=0 chown -R ${USERNAME} /home/${USERNAME}/backup_$(date +"%Y_%m_%d").7z || FLAG=0 echo if [[ $FLAG == 1 ]] then echo "Done. There were no problems." echo echo "------------------------------------------------------------------------------" echo exit 0 else echo "Finished but there were some problems!" echo echo "------------------------------------------------------------------------------" echo exit 1 fi
sudo nano /usr/local/bin/backupmail
sudo chmod 755 /usr/local/bin/backupmail
sudo ln -sv /usr/local/bin/backupmail /etc/cron.weekly
#!/bin/bash USERNAME=abdullah EMAIL=myemail@gmail.com /usr/local/bin/backup sleep 4 mail -A /home/${USERNAME}/backup*.7z -s backup_$(date +"%Y_%m_%d") $EMAIL <<< 'Backup' sleep 4 rm /home/${USERNAME}/backup*.7z exit