Saturday, September 12, 2020

Running a command as a service in Window!

To create service:
Example:  sc.exe create dockerDService binPath= "C:\Program Files\Docker\Docker\resources\dockerd.exe" start= auto

To delete service:
  sc.exe delete SERVICE_NAME 
 Example : sc.exe delete dockerDService 

Note: Use PowerShell or the command Terminal with Administrator mode


Sunday, July 26, 2020

Backup(Transferring and Synchronizing files) using python multiprocessing and rsync !

rsync(remote sync) is a utility for efficiently transferring and synchronizing files between a computer and an external storage

  1. Copy or sync files locally:

  2. rsync -zvh [Source-Files-Dir] [Destination]

  3. Copy or sync directory locally:

  4. rsync -zavh [Source-Files-Dir] [Destination]

  5. Copy files and directories recursively locally:

  6. rsync -zrvh [Source-Files-Dir] [Destination]  

  7. Sample  python code  script to do a backup using python...

  8. #!/usr/bin/env python

    import subprocess

    from multiprocessing import Pool

    from os import walk 

    src= "/home/user/data/"


    def backupData(dir):

        print("dir = "+ src+dir +" dest = " + dest+dir)["rsync", "-arq", src+dir, dest+dir]) 

    dirList = []

    for (root, dirs, files) in walk(src):



    print (dirList)

    p= Pool(len(dirList)), dirList)


Saturday, June 6, 2020

Cucumber/Gherkins with Java(kotlin) !

Cucumber is an opensource, Behavior-Driven Development (BDD) framework, where you execute your automated tests. You can pick up a regression suites for your automation test. We will mostly discuss about the the automation test written in Java/Kotlin in this tutorials.
Cucumber reads executable specifications written in plain text and validates that the software does what those specifications say.

What is Gherkins:
Gherkins is a business readable domain specific language. It is a set of grammar rules that makes plain text structured enough for Cucumber to understand.
Example :  Users are presented with Invalid Username/Password method when authentication fails
Cucumber uses Scenarios to defines the steps . You describe the Scenarios using Given, When, And and Then, But 
Scenario: Users are presented with Invalid Username/Password method when authentication fails
Given User is in the login page
when User fills the invalid username or password
And User hit the submit button
Then User see the pop up screen saying Invalid Username/Password
When we define the  Scenario, we  can define multiple pre condition and multiple action and multiple expected outcomes.

We can collapse these two or more similar scenarios into a Scenario Outline as following
Scenario Outline: eating
  Given there are <start> cucumbers
  When I eat <eat> cucumbers
  Then I should have <left> cucumbers

    | start | eat | left |
    |    12 |   5 |    7 |
    |    20 |   5 |   15 |
What is Feature and Feature File:
Feature can be defined as a standalone business functionality of a project. Feature file describes the testing needs for any features. A features file can contains one or many scenarios for you automated testings.In order the automatically detect the features by cucumber framework, you need to define it with .feature file extension. You will normally have a desperate feature file for each feature. 
(This post is still in progress--- keep visit us again)


Tuesday, June 2, 2020

Updating the hosts file in MAC

echo ' hdp hdp' | sudo tee -a /private/etc/hosts


Saturday, May 16, 2020

Bash script to rename or move files from a directory !

Following is the bash script that renames a sets of file form the current directoy. In the following is just updating the extension.


for file in *.JPEG; do

        name=$(basename "$file" .JPEG)

        mv "$file" "$name.jpeg"



Monday, April 20, 2020

Git - more on Git Tags -

The following steps outlines the Git Tag delete process both locally and remotely.
  1.  Fetch all the tags from
    git fetch --tags
  2. Delete the tag locally
    git tag -d yourTagToDelete  (eg: git tag -d v1.15.0)
  3. Delete the tag in Remote
    git push origin :yourTagToDelete (eg git push origin :v1.15.0)
  4. Create a new  tag locally
    git tag yourNewTag  (eg: git tag v1.15.0)
  5. Push tag to Remote
    git push origin yourTagToDelete (eg git push origin v1.15.0)


Saturday, April 18, 2020

Restarting Spring Boot Application !

Restarting Spring Boot Application  !

You have several options to restart Spring boot Application . You can restart either of the following three options. Based on your requirement you can choose one of the following.

  1. Using spring-boot-devtools
  2.            Add your Gradle dependency
        After that Add, you can simply add an end poing on your controller class and have the following:

    The drawback of using tools is you cannot make a good used of @Cacheable . it might cause ClassCastException while reading from the cache.

  3. Using RestartEndPoint from 
  4.    Add your Gradle dependency
         compile "org.springframework.boot:spring-boot-starter-actuator"
        After that Add, you can simply add an end on your controller class and have the following:
         RestartEndpoint restartEndpoint;
        And call the following methond from your controller :
    You might see NullPointer Exception while trying to bring the application up specially when you have UnderTow as your servlet container 
     3.   And the third one is reading the current context and restarting it. You can simply add the following method on the Main Class and invoke from your controller
       public static void restart() {
          ApplicationArguments args = appContext.getBean(ApplicationArguments.class);
          Thread thread = new Thread(() -> {
          SpringApplication springApplication = new SpringApplication(MyBootApplication.class);
          springApplication.addListeners(new ApplicationPidFileWriter());


Saturday, March 21, 2020

Thread Dumping in Unix - flyway recorder !

 jcmd 8308 JFR.start duration=100s filename=tempo.jfr


Thursday, March 5, 2020

Monogo Pipeline scripts !

1. Filter by an assistance of an array element in a document:
  $and:[{assessmentPeriods:{$ne:null, $exists:true, $ne: []}}  ]




 © 2006-2010