Как вывести mysql базу данных и передать удаленному ftp в одной строке - для crontab-?

Это наиболее вероятно случайным образом сгенерированное исполняемое имя, созданное вредоносным программным обеспечением в Вашей системе. Я рекомендую запустить любимое программное обеспечение антивируса (или еще лучше несколько программ). Мой персональный фаворит является Антивирусом Malwarebytes.

Откровенно говоря, хотя, если бы это - рабочий сервер, я добрался бы, любые данные от этого в настоящее время не сохранялись (который не является, надо надеяться, ни одним), затем повторно отобразите поле. Нет никакого смысла в когда-либо риске безопасностью производственных данных путем попытки "убрать" сервер. Очистка и данные восстановления из чистых резервных копий.

Если это - возможность, можно хотеть вращаться в резервном производственном поле и сохранить тот один невытертый (и изолированный) на данный момент так, чтобы можно было сделать некоторый анализ постзаражения, но если необходимо разбудить тот конкретный сервер, и работающий сразу затем просто вытирают и восстанавливают. Так или иначе, тем не менее, Вы захотите разыскать источник заражения.

2
задан 18 May 2011 в 15:08
2 ответа

Если у Вас есть некоторая задача, которая требует больше чем одной строки оболочки, общий подход должен поместить ее в маленький сценарий оболочки и вызов тот сценарий оболочки от крона.

0 18 * * 1 /home/myuser/backups/backup-and-ftp-db.sh

где /home/myuser/backups/backup-and-ftp-db.sh содержит что-то как

#!/bin/sh
dumpfile=/home/myuser/backups/bdd-$(date +%d-%m-%Y).sql
/usr/bin/mysqldump --add-drop-table --extended-insert -user -ppass db [table] > $dumpfile
lftp -e "put $dumpfile backupdir/$dumpfile ; quit" -u username,password backupserver

Также стоит отметить что несколько вызовов date в замене команды, поскольку Mike сделал, может привести к различным результатам. Это более вероятно, если дата включает часы/минуты/секунды, однако, рассматривает то, что происходит, если Ваше задание крона запускается незадолго до полуночи - который дает Ваш вызов первого свидания, сказать bdd-19-05-11.sql, и если mysqldump займет много времени достаточно в ту полночь передачи, и Вы входите на следующий день, то Ваша вторая команда будет ожидать имя файла bdd-20-05-11.sql. Поэтому я вызываю date однажды и хранилище это в переменной.

4
ответ дан 3 December 2019 в 09:45

Можно использовать ncftpput, если Вы соглашаетесь с помещением пароля FTP в Вашем crontab.. или путь к ncftpput cfg файл

0 18 * * 1 /usr/bin/mysqldump --add-drop-table --extended-insert -user -ppass db [table] > /home/myuser/backups/bdd-`date +%d-%m-%Y`.sql && ncftpput -u user -p pass host.remote.com /home/myuser/backups/bdd-`date +%d-%m-%Y`.sql remotePath//bdd-`date +%d-%m-%Y`.sql
1
ответ дан 3 December 2019 в 09:45

Теги

Похожие вопросы