ditching ansible, using local script
This commit is contained in:
15
eval.sh
15
eval.sh
@@ -1,15 +0,0 @@
|
|||||||
#! /bin/bash
|
|
||||||
set -e
|
|
||||||
set -u
|
|
||||||
|
|
||||||
source /root/functions.sh
|
|
||||||
|
|
||||||
|
|
||||||
addHeader "user_operateur" "pass_operateur" "sudo_config" "ssh_key_tom" "log_operateur" "logrotate"
|
|
||||||
|
|
||||||
userExists operateur
|
|
||||||
userHasPassword operateur
|
|
||||||
fileMustExist /etc/sudoers.d/operateur
|
|
||||||
fileMustContain ~operateur/.ssh/authorized_keys tom@workine
|
|
||||||
fileMustExist /var/log/operateur.log
|
|
||||||
fileMustExist /etc/logrotate.d/operateur.log
|
|
||||||
39
eval.yml
39
eval.yml
@@ -1,39 +0,0 @@
|
|||||||
---
|
|
||||||
- hosts:
|
|
||||||
- all
|
|
||||||
user: epsi
|
|
||||||
become: true
|
|
||||||
gather_facts: false
|
|
||||||
vars:
|
|
||||||
result_file: "{{ '%Y-%m-%d' | strftime }}_tp.csv"
|
|
||||||
script: eval.sh
|
|
||||||
|
|
||||||
# pre_tasks:
|
|
||||||
# - name: insert header
|
|
||||||
# lineinfile:
|
|
||||||
# path: "{{ result_file }}"
|
|
||||||
# line: "machine\tuser\tdir bin\tscript exists\tif\tmysqldump\texit\targ0\targ1\targ2\trc\tdate\texecOk\ttaille"
|
|
||||||
# state: present
|
|
||||||
# create: true
|
|
||||||
# delegate_to: localhost
|
|
||||||
|
|
||||||
tasks:
|
|
||||||
- name: copy script
|
|
||||||
copy:
|
|
||||||
src: "{{ item }}"
|
|
||||||
dest: /root
|
|
||||||
mode: 0700
|
|
||||||
loop:
|
|
||||||
- "{{ script }}"
|
|
||||||
- "functions.sh"
|
|
||||||
|
|
||||||
- name: exec script
|
|
||||||
command: /root/eval.sh
|
|
||||||
register: result
|
|
||||||
|
|
||||||
- name: get result
|
|
||||||
lineinfile:
|
|
||||||
path: "{{ result_file }}"
|
|
||||||
line: "{{ result.stdout }}"
|
|
||||||
create: true
|
|
||||||
delegate_to: localhost
|
|
||||||
44
functions.sh
44
functions.sh
@@ -4,6 +4,14 @@ function e {
|
|||||||
echo -ne "${1}\t"
|
echo -ne "${1}\t"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# file mtime
|
||||||
|
# arg1: file
|
||||||
|
function fileMTime {
|
||||||
|
if [ ! -f $1 ] ; then echo -ne "0\t" ; return 0 ; fi
|
||||||
|
stat --printf "%y\t" $1
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
#ok if given program returns given code
|
#ok if given program returns given code
|
||||||
# arg1: program to run
|
# arg1: program to run
|
||||||
# arg2: expected return code (default 0)
|
# arg2: expected return code (default 0)
|
||||||
@@ -113,37 +121,39 @@ function fileMustNOTContain {
|
|||||||
echo -ne "1\t"
|
echo -ne "1\t"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
# argn: nth columne name
|
|
||||||
|
# Ok if given user exists
|
||||||
|
# Arg1: user
|
||||||
|
function userExists {
|
||||||
|
if ( grep -iq $1 /etc/passwd ) ; then e 1 ; else e0 ; fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Ok if given group exists
|
||||||
|
# Arg1: group
|
||||||
|
function groupExists {
|
||||||
|
if ( grep -iq $1 /etc/group ) ; then e 1 ; else e0 ; fi
|
||||||
|
}
|
||||||
|
|
||||||
# insert hostname at beginning of result line
|
# insert hostname at beginning of result line
|
||||||
function addHeader {
|
function addHeader {
|
||||||
test -f /etc/motd && user="$(cat /etc/motd | sed 's/\n//')\t"
|
test -f /etc/motd && user="$(cat /etc/motd | sed 's/\n//')\t"
|
||||||
echo -ne "\n\t\t"
|
|
||||||
for i in $@ ; do echo -ne "$i\t" ; done
|
|
||||||
echo -ne "\n"
|
|
||||||
echo -ne "${user}$(hostname -s)\t"
|
echo -ne "${user}$(hostname -s)\t"
|
||||||
}
|
}
|
||||||
|
|
||||||
# Ok if given user exists
|
|
||||||
# arg1: user to check
|
|
||||||
function userExists {
|
|
||||||
if ( grep -q $1 /etc/passwd ) ; then e 1 ; else e 0 ; fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# Ok if given use has a password
|
|
||||||
# arg1: user to check
|
|
||||||
function userHasPassword {
|
|
||||||
if ( passwd --status $1 2>&1 | grep -q 'Password set' ) ; then e 1 ; else e 0 ; fi
|
|
||||||
}
|
|
||||||
# Ok if given package is installed
|
# Ok if given package is installed
|
||||||
# arg1: pkg to check
|
# arg1: pkg to check
|
||||||
function pkgInstalled {
|
function pkgInstalled {
|
||||||
if ( rpm -qa| grep -qi $1 ) ; then echo -ne "1\t" ; else echo -ne "0\t" ; fi
|
pkglist=/tmp/pkg.list
|
||||||
|
test -f $pkglist || rpm -qa > $pkglist
|
||||||
|
if ( grep -qi $1 $pkglist ) ; then echo -ne "1\t" ; else echo -ne "0\t" ; fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# Ok if given package is NOT installed
|
# Ok if given package is NOT installed
|
||||||
# arg1: pkg to check
|
# arg1: pkg to check
|
||||||
function pkgNotInstalled {
|
function pkgNotInstalled {
|
||||||
if ( rpm -qa |grep -qiE $1 ) ; then echo -ne "0\t" ; else echo -ne "1\t" ; fi
|
pkglist=/tmp/pkg.list
|
||||||
|
test -f $pkglist || rpm -qa > $pkglist
|
||||||
|
if ( grep -qiE $1 $pkglist ) ; then echo -ne "0\t" ; else echo -ne "1\t" ; fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# ok if given process is running
|
# ok if given process is running
|
||||||
|
|||||||
14
localeval.sh
Normal file
14
localeval.sh
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
#! /bin/bash
|
||||||
|
|
||||||
|
source functions.sh
|
||||||
|
# check that alias has been tried
|
||||||
|
echo -ne "host\tname\t<+CHANGEME+>\n"
|
||||||
|
for host in /srv/lxc/epsi/b1/* ; do
|
||||||
|
root=${host}/rootfs
|
||||||
|
host=$(basename $host)
|
||||||
|
hostname=$(grep HOSTNAME ${root}/etc/sysconfig/network | cut -f2 -d=)
|
||||||
|
test -f ${root}/etc/motd && user="$(cat ${root}/etc/motd | sed 's/\n//')\t"
|
||||||
|
echo -ne "${hostname}\t${user}"
|
||||||
|
<+CHANGEME+>
|
||||||
|
echo
|
||||||
|
done
|
||||||
Reference in New Issue
Block a user