Convert Timestamps to Become Readable With Influx DB’s CLI

Question: How do you make InfluxDB’s CLI return human-readable timestamps?

Instead of this:

name: clothes
---------
time                percent_cool
892482496000000000  0.5

Return this:

name: clothes
---------
time                   percent_cool
1998-04-13T15:48:16Z   0.5

Answer: When you first connect to the CLI, specify the rfc3339 precision:

$ influx -precision rfc3339

Alternatively, specify the precision once you’ve already connected to the CLI:

$ influx
Connected to http://localhost:8086 version 0.xx.x
InfluxDB shell 0.xx.x
> precision rfc3339
>

Modify a virtual machine image with guestfish

Guestfish is a shell and command-line tool for examining and modifying virtual machine filesystems. It uses libguestfs and exposes all of the functionality of the guestfs API.

Sometimes you must modify a virtual machine image to remove any traces of the MAC address that was assigned to the virtual network interface card when the image was first created. This is because the MAC address is different when the virtual machine images boots. This example shows how to use the guestfish to remove references to the old MAC address by deleting the/etc/udev/rules.d/70-persistent-net.rules file and removing the HWADDR line from the /etc/sysconfig/network-scripts/ifcfg-eth0 file.

Assume that you have a CentOS qcow2 image called centos63_desktop.img. Mount the image in read-write mode as root, as follows:

# guestfish --rw -a centos.img

Welcome to guestfish, the libguestfs filesystem interactive shell for
editing virtual machine filesystems.

Type: 'help' for help on commands
'man' to read the manual
'quit' to quit the shell

><fs>

This starts a guestfish session.

Notethe guestfish prompt looks like a fish: ><fs>.

We must first use the run command at the guestfish prompt before we can do anything else. This will launch a virtual machine, which will be used to perform all of the file manipulations.

><fs> run
  1. We can now view the file systems in the image using the list-filesystems command:
    ><fs> list-filesystems
    /dev/vda1: ext4
    /dev/vg_centosbase/lv_root: ext4
    /dev/vg_centosbase/lv_swap: swap
    
  2. We need to mount the logical volume that contains the root partition:
    ><fs> mount /dev/vg_centosbase/lv_root /
    
  3. Next, we want to delete a file. We can use the rm guestfish command, which works the same way it does in a traditional shell.
    ><fs> rm /etc/udev/rules.d/70-persistent-net.rules
    
  4. We want to edit the ifcfg-eth0 file to remove the HWADDR line. The edit command will copy the file to the host, invoke your editor, and then copy the file back.
    ><fs> edit /etc/sysconfig/network-scripts/ifcfg-eth0
    
  5. If you want to modify this image to load the 8021q kernel at boot time, you must create an executable script in the/etc/sysconfig/modules/ directory. You can use the touch guestfish command to create an empty file, the edit command to edit it, and the chmod command to make it executable.
    ><fs> touch /etc/sysconfig/modules/8021q.modules
    ><fs> edit /etc/sysconfig/modules/8021q.modules
    
  6. We add the following line to the file and save it:
    modprobe 8021q
    
  7. Then we set to executable:
    ><fs> chmod 0755 /etc/sysconfig/modules/8021q.modules
    
  8. We are done, so we can exit using the exit command:
    ><fs> exit
    

Example 2: Add passwordless sudo to a user:

guestfish --rw -a centos.img
><fs> run
><fs> list-filesystems
/dev/sda1: ext4
><fs> mount /dev/sda1 /
><fs> touch /etc/sudoers.d/user1-sudo
><fs> vi /etc/sudoers.d/useer1-sudo
><fs> quit

This will add the sudoers file and enable passwordless sudo for user1

jenkins: bash script to backup all jobs

#! /bin/bash
    SAVEIFS=$IFS
    IFS=$(echo -en "\n\b")
    declare -i
    for i in $(java -jar jenkins-cli.jar -s http://localhost:8080 list-jobs  --username admin --password admin123);
    do
    echo $i;
    java -jar jenkins-cli.jar -s http://localhost:8080 get-job --username admin --password admin123 ${i} > backup/${i}.xml;
    echo "done";
    done

jenkins can’t find the job when job exists

when run the command like

java -jar jenkins-cli.jar -s http://192.168.9.199:8080 list-jobs --username admin --password 'admin'

the result is :

testjob

but run

java -jar jenkins-cli.jar -s http://192.168.9.199:8080 build testjob --username admin --password 'admin'

No such job 'testjob'

 

I had the same behavior and found out that allowing anonymous read access in the global securitysection fixed it. It is still mandatory to specify --username and --password to access the resource.

allow anonymous read access