scripts/README.md

112 lines
3.9 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# ipr_scripts
#### Table of Contents
1. [Overview](#overview)
2. [Scripts](#scripts)
* [Proxmox](#proxmox)
* [Fiber Channel](#fiber_channel)
* [Grav](#grav)
* [Sesame2mail](#sesame2mail)
* [Jenkins](#jenkins)
* [WordPress](#wordpress)
## Overview
Some usefull scripts for admin or users.
## Scripts
### Proxmox
#### proxmox.template.debian.sh
Some commands in order to clean and prepare a container to become a template.
1. The script will:
* Allow root's connection to SSH with password.
* Reconfigure timezone to **Europe/Paris**.
* Reconfigure locales to **en_US.UTF-8**.
* Download an additionnal script use by our preseed with PXE to configure logs (rsyslog, logrotate,…).
* Remove **x11** useless packages.
* Clean some stuff (downloaded packages, empty logs,…).
2. How-to use:
``` sh
wget https://git.ipr.univ-rennes1.fr/cellinfo/scripts/raw/master/proxmox/proxmox.template.debian.sh -O /tmp/proxmox.template.debian.sh
chmod +x /tmp/proxmox.template.debian.sh
/tmp/proxmox.template.debian.sh
```
#### vzdump-hook-lxc-stretch-template.pl
This script must be used as a vzdump's hook (the backup utility for CT and VMs for Proxmox).
1. The script will:
* Copy the current dump as a template in **/mnt/zfsbkp/template/cache** (by default).
* Unlink **$TEMPLATE_FILE_LINK**.
* Link **$TEMPLATE_FILE_LINK** to the last dump in order to have a better name.
* Remove the templates oldest than 2 days (by default).
2. How-to use:
* Define a backup as usual (in the Proxmox's webgui) and prefer to select only one container.
* In command on the hypervisor, open **/etc/pve/vzdump.cron** and edit the line of the new dump to add: **--script /usr/local/bin/vzdump-hook-lxc-stretch-template.pl**.
3. Customization:
* If you don't store template in the default path (**/mnt/zfsbkp/template/cache**), please edit the variable **$TEMPLATE_DIR** in the script.
* You might want to set another template name, please edit the variable **$TEMPLATE_FILE_LINK** in the script.
#### vzdump-hook-lxc-jessie-template.pl
Same as above but set jessie in **$TEMPLATE_FILE_LINK**.
### Fiber Channel
Some scripts to manage hard disk with IBM trays.
### Grav
#### grav_cron
A daily cron to check if [Grav][grav website] got available updates.
* It need to work from the Grav's root directory.
* If an update is available, it will create a empty file (${GRAV_ROOT}/logs/update), else it will ensure the "update" file is removed.
* Be sure to monitore if **${GRAV_ROOT}/logs/update** exist.
[grav website]: https://getgrav.org/
### Sesame2mail
Give a user's mail address from it's user ID (sesame).
The first argument can be:
* A file with a list of user ID (sesame), one per line.
* A user ID (sesame), only one.
### Jenkins
#### jenkins_check_update
A daily cron to check [Jenkins][jenkins website]'s plugins updates.
* It need [jenkins-cli.jar][jenkins cli].
* If an update is available, it will create an empty file (${JENKINS_HOME}/.update_plugin), else it will ensure the "update" file is absent.
* Be sure to monitore if this file **${JENKINS_HOME}/.update_plugin** exist!
#### jenkins_update_plugins
A script to upgrade Jenkins's plugins.
* It need [jenkins-cli.jar][jenkins cli].
* Can also be set in cron.daily to get automatic upgrades.
[jenkins website]: https://jenkins.io/
[jenkins cli]: https://jenkins.io/doc/book/managing/cli/#downloading-the-client
### WordPress
#### wordpress_cron
A daily cron to check [WordPress][wordpress website]'s Core and plugins updates.
* It need [**wp-cli**][wp-cli website] tool.
* If an update is available, it will create a empty file (${WP_ROOT}/.update_core or ${WP_ROOT}/.update_plugin), else it will ensure the "update" files are absents.
* So, be sure to monitore if the files **${WP_ROOT}/.update_*** exists!
[wordpress website]: https://wordpress.org/
[wp-clie website]: https://make.wordpress.org/cli/handbook/installing/