Untitled

mail@pastecode.io avatar
unknown
plain_text
a month ago
2.4 kB
3
Indexable
Never
Code
#!/bin/bash
engine_public_version="$(/rdsdbbin/oscar/bin/mysql -u rdsbmsperf -p auroraperf -e "SELECT aurora_version();" -prdsbmsperf | grep -P '[\d.]+')"
MySQL_grep=$(echo $(strings /rdsdbbin/oscar/bin/mysqld | grep 'git-head' -m1))
engine_internal_version=$(echo $MySQL_grep | grep -P 'OscarMysql[\d]+-[\d.]+' -o | grep -P '[\d.]+')
engine_build_time=$(echo $MySQL_grep | grep -P '\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}UTC' -o)
engine_git_commit=$(echo $MySQL_grep | grep -P '[\w\d]{40}' -o -m1)

echo "engine_public_version: $engine_public_version engine_internal_version: $engine_internal_version engine_build_time: $engine_build_time engine_git_commit: $engine_git_commit"

Which I have converted to ssm shell as:
def collect_ams_engine_version_logs(self, instance_id, workflow_path):
        """
        Gather ams engine versions
        """
        credentials = self.get_pas_credentials(PAS_ADMIN_OPS_ROLE)
        cmds = self.get_rds_s3_file_transfer_template(
            credentials["AccessKeyId"], credentials["SecretAccessKey"]
        )

        cmds.append("sudo date > /tmp/engine_commit_id.log 2>&1")
        cmds.append(
            r'/rdsdbbin/oscar/bin/mysql -u rdsbmsperf -p auroraperf -e "SELECT aurora_version();" -prdsbmsperf | grep -P \'[\d.]+\' >> /tmp/engine_commit_id.log 2>&1'
        )
        cmds.append(
            r"MySQL_grep=$(echo $(strings /rdsdbbin/oscar/bin/mysqld | grep \'git-head\' -m1))"
        )
        cmds.append(
            r"engine_internal_version=$(echo $MySQL_grep | grep -P \'OscarMysql[\d]+-[\d.]+"
            r"-o | grep -P '[\d.]+' >> /tmp/engine_commit_id.log 2>&1)"
        )
        cmds.append(
            r"engine_build_time=$(echo $MySQL_grep | grep -P \'\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}UTC\' -o >> /tmp/engine_commit_id.log 2>&1)"
        )
        cmds.append(
            r"engine_git_commit=$(echo $MySQL_grep | grep -P \'[\w\d]{40}\' -o -m1 >> /tmp/engine_commit_id.log 2>&1)"
        )

        cmds.append(
            "aws s3 cp /tmp/engine_commit_id.log "
            + f"{get_pas_logs_s3_dir_for_instance(workflow_path, instance_id[0].strip())}"
        )

        self.__ssm_client.run_cmd(
            instance_id[1],
            cmds,
        )

But when I see the output only  date comes as output so only this line works cmds.append("sudo date > /tmp/engine_commit_id.log 2>&1"). Please correct my code
Leave a Comment