1 |
/usr/bin/curl --upload-file "/mnt/backup/mysql_zabbix.sql.gz" ftp://backup:'password12345678'@ftp.server.com/backup/zabbix/ |
backup имя пользователя ftp
password12345678 пароль от ftp, который я поместил в одиночные кавычки, чтобы экранировать спецсимволы
/backup/zabbix директория на удаленном ftp сервере
ftp.server.com адрес ftp сервера
Если загрузка не работает, можно добавить ключ -v к команде curl, будет подробный лог.
Все это было затеяно для бэкапа сервера мониторинга zabbix. Покажу сразу и сам скрипт бэкапа.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
#!/bin/sh date_time=`date +"%Y-%m-%d_%H-%M"` bk_dir='/mnt/backup' db_user='zabbix' db_password='passwd87654321' ftp_user='backup' ftp_password='passwd12345678' ftp_host='ftp.server.com' ftp_dir='backup/zabbix/' /usr/bin/mysqldump --opt -v --databases zabbix -u$db_user -p$db_password | /usr/bin/gzip -c > $bk_dir/mysql_zabbix_$date_time.sql.gz /usr/bin/tar -czvf $bk_dir/zabbix_etc_$date_time.tar.gz /etc/zabbix /usr/lib/zabbix/alertscripts /usr/bin/tar -czvf $bk_dir/zabbix_web_$date_time.tar.gz /usr/share/zabbix /usr/bin/find $bk_dir -type f -mtime +3 -exec rm {} \; /usr/bin/curl --upload-file "$bk_dir/mysql_zabbix_$date_time.sql.gz" ftp://$ftp_user:$ftp_password@$ftp_host/$ftp_dir /usr/bin/curl --upload-file "$bk_dir/zabbix_etc_$date_time.tar.gz" ftp://$ftp_user:$ftp_password@$ftp_host/$ftp_dir /usr/bin/curl --upload-file "$bk_dir/zabbix_web_$date_time.tar.gz" ftp://$ftp_user:$ftp_password@$ftp_host/$ftp_dir |