私たちは完全に動作しているスクリプトを持っており、サーバAからサーバBへと膨大なデータベースをコピーしています。テーブル名を変数にするだけでスクリプトはテーブル名を要求し、テーブルをAからBにコピーする必要があります。 これは私が作成したスクリプトです。シェルスクリプトではあまり経験はありません。サーバAからサーバBへのテーブルのコピー
#!/bin/sh
#Run on Server A
TABLENAME=$1
echo $TABLENAME
_now=$(date +"%A %d-%m-%Y "at" %T")
#Copy table $TABLENAME from server A to server B
#Dump table into /directory server A
mysqldump -u admin -p'*****' database_name $TABLENAME > /directory/$TABLENAME.sql
# Copie table to server B
scp /directory/$TABLENAME.sql [email protected]_b.domain.com:/directory/
# Replace table in database on server B
ssh [email protected]_b.domain.com "mysql -f -u admin -p'******' database_name -e 'source /directory/$TABLENAME.sql'"
#Remove file on server B
ssh [email protected]_b.domain.com "rm /directory/$TABLENAME.sql"
#Remove file on A
rm /directory/$TABLENAME.sql
これは私が取得エラーです:
.sql
./script_file_name: line 19: unexpected EOF while looking for matching `"'
./script_file_name: line 22: syntax error: unexpected end of file
あなたはコマンドの一部として引用符(」、 ")不足しているあなたに
私は引用符を追加した今では、すべてのデータベースをコピーしようとすると、あなたの提案のためのテーブル名 – papacico