diff --git a/roles/slurm_sql_bk/tasks/main.yml b/roles/slurm_sql_bk/tasks/main.yml
index 1bfd3276eaa3bf0ec48d495b97ee3b4968c4cd13..4c6e0b7e3619e896a8bf3a186b954ced1c5af441 100644
--- a/roles/slurm_sql_bk/tasks/main.yml
+++ b/roles/slurm_sql_bk/tasks/main.yml
@@ -1,40 +1,67 @@
 ---
-# this code is for the sql server only
-  - name: template sql backupscript to /etc/cron.daily
-    template: src="backup_mysql_for_slurm.sh.j2" dest="/etc/cron.daily/backup_mysql_for_slurm.sh"  mode="700"
-    sudo: true
-    when: server == 'True'
-  - name: Create directory {{ SQL_BK_DIR }}
-    file: path={{ SQL_BK_DIR }} state=directory
-    sudo: true
-    when: server == 'True'
+  #
+  #first generate ssh keys Gif the variable "create_key" is defined.
+  #
+  - name: delete any existing local private key
+    local_action: command rm -f  ./slm_db_backup
+    when: create_key is defined and create_key=="True"
+  - name: delete any existing local public keys
+    local_action: command rm -f ./slm_db_backup.pub
+    when: create_key is defined and create_key=="True"
+  - name: generate ssh keys if necessary
+    #this command will create a two files "slm_db_backup" and "slm_db_backup.pub"
+    local_action: command ssh-keygen -t rsa -f slm_db_backup -P ""
+    when: create_key is defined and create_key=="True"
+  - name: copy private key to management node
+    copy:
+      src: "./slm_db_backup"
+      dest: "/root/.ssh"
+      owner: root 
+      group: root
+      mode: '600'
+    become: True
+    become_user: root
+    when: create_key is defined and create_key=="True"
+  - name: copy public key to authorised key file of backup volume machine
+    local_action: command  ssh-copy-id -i ./slm_db_backup.pub  {{ SQL_BK_DEST_HOST }}
+    when: create_key is defined and create_key=="True"
+  #
+  # now setup cronjob on management node
+  #
+  - name: ensure {{ MGMT_BIN_DIR }} exists
+    file:
+      path: "{{ MGMT_BIN_DIR }}"
+      state: directory
+    become: true
+    become_user: root 
+  - name: "template sql backupscript to  {{ MGMT_BIN_DIR }}"
+    template: src="backup_mysql_for_slurm.sh.j2" dest="{{ MGMT_BIN_DIR }}/backup_mysql_for_slurm.sh"  mode="700"
+    become: true
+    become_user: root 
+  - name: Make a daily crontab entry
+    cron:
+      name: "Backup of MySQL Database for Slurm"
+      job: "{{ MGMT_BIN_DIR }}/backup_mysql_for_slurm.sh"  
+      hour: 23
+      minute: 55
+    become: true
+    become_user: root 
+  - name: Create directory {{ SQL_BK_DATA_DIR }}
+    file: path={{ SQL_BK_DATA_DIR }} state=directory
+    become: true
+    become_user: root 
   - name: template mysql config file to server
-    template: src="mysql.conf.j2" dest="{{ SQL_BK_DIR }}/mysql.conf" mode="600"
-    sudo: true
-    when: server == 'True'
-  - name: copy ssh pub key to .ssh if it does not exist already
-    copy: src="id_rsa.pub" dest="/root/.ssh/id_rsa.pub"
-    sudo: true
-    when: server == 'True'
-  - name: copy ssh private key to .ssh if it does not exist already
-    copy: src="id_rsa" dest="/root/.ssh/id_rsa" mode="600"
-    sudo: true
-    when: server == 'True'
-    
-#this code is for the Destination Node only
-  - name: create dummy user account
-    user: name="{{ SQL_USER }}" comment="Account for scp of slurm sql backups" 
-    sudo: true
-    when: server == 'False'
-  - name: Add MySQL server ssh key to authorised_files on management nodes"
-    authorized_key: user="{{ SQL_USER }}" state=present  key="{{ lookup('file', 'id_rsa.pub') }}" #"
-    sudo: true
-    when: server == 'False'
-  - name: ensure the dest directory exists (for backups to be copied too)
-    file: path={{ SQL_BK_DEST_DIR }} state=directory owner={{ SQL_USER }}
-    sudo: true
-    when: server == 'False'
-  - name: setup cron job to delete old slurm logs
-    template: src="delete_old_mysql_bk.sh.j2" dest="/etc/cron.daily/delete_old_mysql_bk.sh"  mode="700"
-    sudo: true
-    when: server == 'False'
+    template: src="mysql.conf.j2" dest="{{ MGMT_BIN_DIR }}/mysql.conf" mode="600"
+    become: true
+    become_user: root
+  #
+  # template delete file to localhost.then copy to remote host
+  #
+  - name: delete local del file
+    local_action: command rm -f  ./delete_old_mysql_bk.sh
+  - name: template delete script to local dir
+    local_action: template src=delete_old_mysql_bk.sh.j2 dest=./delete_old_mysql_bk.sh
+  - name: copy backup script to server ec2-user@{{ SQL_BK_DEST_HOST }}
+    local_action: command scp -i ./slm_db_backup ./delete_old_mysql_bk.sh "ec2-user@{{ SQL_BK_DEST_HOST }}:"
+  - name: insert delete cron job entry on remote server
+    local_action: command ssh ec2-user@{{ SQL_BK_DEST_HOST }}  "{ crontab -l ; echo '#delete old slurm backups' ; echo '00 23 * * * /home/ec2-user/backup_mysql_for_slurm.sh' ; } | crontab  -  "