scripts/README.md

112 lines
3.9 KiB
Markdown
Raw Normal View History

# 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
2023-11-03 15:54:59 +01:00
wget https://git.ipr.univ-rennes.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!
2018-05-04 16:28:47 +02:00
#### 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
2017-02-15 15:02:03 +01:00
A daily cron to check [WordPress][wordpress website]'s Core and plugins updates.
* It need [**wp-cli**][wp-cli website] tool.
2017-02-15 15:02:03 +01:00
* 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/