# Script to compare the same files in 2 directories.
# List of files that need to be compared needs to passed as a separate file
# The script takes input from the user for the current directory, backup directory and file location containing file paths
# The file formats supported by the script are .json, .js, and conf files with format (key=value) and (key value)
# Download the file
wget https://cvs-iwx.s3.amazonaws.com/scripts/compare.py
# Run the compare.py
python compare.py
# Example for JSON file containing the list of files and locations that have to be compared
{ "conf.properties": "conf/conf.properties", "dataproc_defaults.json": "conf/dataproc_defaults.json", "airflow.cfg": "orchestrator-engine/airflow.cfg", "ecosystem.config.js": "platform/rest-api-service/ecosystem.config.js", ".env": "platform/rest-api-service/.env", "exporter.conf": "resources/nginx-portable/conf/infoworks/extras/exporter.conf", "config-dev.json": "platform/conf/config-dev.json", "nginx.conf": "resources/nginx-portable/conf/nginx.conf", "platform.conf.template": "resources/nginx-portable/conf/infoworks/platform.conf.template", "pg_hba.conf": "resources/postgres/pgsql/data/pg_hba.conf", "dt_spark_defaults.conf": "conf/dt_spark_defaults.conf" }
Example output
Enter current installation directory [# Example : /opt/infoworks] : /opt/infoworks Enter backup directory [# Example : /opt/infoworks_5306] : /opt/infoworks_5306 Enter file path for JSON file containing file paths: /opt/infoworks/scripts/file_path.json Value mismatch for key 'default_driver_xmx_mb' in conf/conf.properties: '2048' in current dir and '512' in backup Value mismatch for key 'ingestion_port' in conf/conf.properties: '3025' in current dir and '3026' in backup Key 'example' is present in conf/conf.properties of current dir but not present in backup Key 'demo' is present in backup conf/conf.properties but not present in current dir List length mismatch for key 'init_scripts' in dataproc_defaults.json: 3 in current dir and 1 in backup Value mismatch for key 'imageVersion' in dataproc_defaults.json: '2.0.53-ubuntu18' in current dir and '1.4-ubuntu18' in backup Value mismatch for key 'parallelism ' in orchestrator-engine/airflow.cfg: ' 2' in current dir and ' 15' in backup Value mismatch for key 'worker_concurrency ' in orchestrator-engine/airflow.cfg: ' 2' in current dir and ' 15' in backup Value mismatch for key 'job_heartbeat_sec ' in orchestrator-engine/airflow.cfg: ' 2' in current dir and ' 3' in backup Value mismatch for key 'min_file_process_interval ' in orchestrator-engine/airflow.cfg: ' 5' in current dir and ' 900' in backup Value mismatch for key 'instances:' in platform/rest-api-service/ecosystem.config.js: '4,' in current dir and '2,' in backup Value mismatch for key 'max_memory_restart:' in platform/rest-api-service/ecosystem.config.js: ''2G',' in current dir and ''1G',' in backup Value mismatch for key 'TIMEOUT' in platform/rest-api-service/.env: '100000' in current dir and '20000' in backup
Author: Anirudh Chekuri
Date Published: 04/12/2023