Пакетный файл Linux, аналогичный пакетному файлу Windows (для резервного копирования базы данных)

У меня есть здесь командный файл в Windows, я хочу применить то же самое к Linux. Могу ли я попросить вашей помощи запустить его в Linux. Ниже приведен пакетный файл для Windows:

@echo off

TITLE Upload Masterlist

set /p answer=Do you want continue? [Y/N]:

if %answer%==Y goto G
if %answer%==y goto G
if %answer%==N goto EndoF
if %answer%==n goto EndoF

:EndoF
goto:eof

:G
cls
set MYSQL_HOME=mysql>C:\xampp\mysql\bin\mysql.exe
set database_name=ppn
set user_name=root
set password=
set sql_file=C:\LEGAL_BACKUP\Masterlist.sql

%MYSQL_HOME% -u %user_name% -p %password% -D %database_name% < %sql_file%


echo.
echo. Uploading Masterlist is successfully done..............!
echo.&pause&goto:eof

Заранее спасибо,

Jet

0
задан 25 January 2013 в 12:22

2 ответа

Похоже, ваш командный файл предназначен для резервного копирования базы данных MySQL на локальном компьютере. Хотя возможно преобразовать команды .bat в эквивалентные команды bash, имена исполняемых файлов, каталогов и т. Д. Будут разными.

Вместо этого вы можете попробовать MySQL-Maint , дружественный для Linux bash-скрипт с открытым исходным кодом, предназначенный для выполнения именно того, что вы делаете.

0
ответ дан 25 January 2013 в 12:22

Попробуйте это:

#!/bin/bash

read -p "Do you want to continue? " -n 1
if [[ ! $REPLY =~ ^[Yy]$ ]]
then
    exit 1
fi

MYSQL_BIN=/usr/bin/mysql
DB_NAME=ppn
DB_USER=root
DB_PASS=pass
SQL_FILE=/home/user/sqlfile.sql

$MYSQL_BIN -u$DB_USER -p$DB_PASS $DB_NAME < $SQL_FILE
echo "Uploading Masterlist is successfully done..............!"

unset MYSQL_BIN
unset DB_NAME
unset DB_USER
unset DB_PASS
unset SQL_FILE
0
ответ дан 25 January 2013 в 12:22

Другие вопросы по тегам:

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