Linux 批处理文件类似于 Windows 批处理文件(用于备份数据库)

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

提前致谢,

喷射

答案1

您的批处理文件似乎旨在备份本地计算机上的 MySQL 数据库。虽然可以将 .bat 命令转换为等效的 bash 命令,但可执行文件的名称、目录等都会有所不同。

相反,你可能想尝试MySQL 维护,一个开源的 Linux 友好型 bash 脚本,旨在完成您正在做的事情。

答案2

尝试这个:

#!/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

相关内容