我需要从shell脚本并行运行数据库恢复命令。这两个命令应该在不同的bash会话中并行运行。
以下是我需要运行的命令。
sudo su - $user -c "db2 RESTORE DATABASE ${SDBP} FROM '/dbnfs/db2main/backups/${DB2DBP}' TAKEN AT $TIMESTAMPP ON '/data1/DB2/tablespaces/${DB2DBP}' , '/data2/DB2/tablespaces/${DB2DBP}' DBPATH ON '/home/db2inst1' INTO ${DB2DBP} NEWLOGPATH '/data1/activelogs/${DB2DBP}' without rolling forward without prompting 2>&1"
sudo su - $user -c "db2 RESTORE DATABASE ${SDBS} FROM '/dbnfs/db2main/backups/${DB2DBS}' TAKEN AT $TIMESTAMPS ON '/data1/DB2/tablespaces/${DB2DBS}' , '/data2/DB2/tablespaces/${DB2DBS}' DBPATH ON '/home/db2inst1' INTO ${DB2DBS} NEWLOGPATH '/data2/activelogs/${DB2DBS}' without rolling forward without prompting 2>&1"让我知道如何实现它。
发布于 2020-09-08 16:18:54
因为您需要不同的bash会话(可能是由于长时间运行的命令),所以您可能会对screen命令感兴趣。
您可以创建新的命名屏幕(会话),让我们将其称为第一个命令的restore1:
screen -S restore1这将创建一个新屏幕。在此屏幕中,您可以运行您的第一个命令。一旦命令开始运行,您就可以从它“分离”(ctrl+a d)。
为SDBS创建另一个名为restore2的命名screen
screen -S restore2在这里运行第二个命令,然后从它分离。您可以通过以下方式检查屏幕(会话):
screen -list您可以使用screen -r <screen_name>重新连接到任何屏幕,以检查该命令的状态。示例:
screen -r restore1https://stackoverflow.com/questions/63788423
复制相似问题