Skip to content

Instantly share code, notes, and snippets.

View alxschwarz's full-sized avatar

Alexander Feller alxschwarz

View GitHub Profile
@alxschwarz
alxschwarz / consul.service
Created May 19, 2017 14:04 — forked from Manc/consul.service
/etc/systemd/system/consul.service
[Unit]
Description=Consul service discovery agent
Requires=network-online.target
After=network.target
[Service]
User=consul
Group=consul
PIDFile=/run/consul/consul.pid
Restart=on-failure
server_config_file=gs_config.ascii
binary_logging_sample=0.1
pb_port=49999
pb_workers=1600
max_log_size=100
use_incoming_pool=false
use_populated_field=true
@alxschwarz
alxschwarz / gcsfuse.service
Created April 5, 2017 10:46 — forked from jaynzr/gcsfuse.service
GCSFuse systemd service /etc/systemd/system/gcsfuse.service /etc/systemd/system/gcsfuse.service.d/settings.conf
[Unit]
Description=GCS Fuse
After=network.target
[Service]
User=www-data
Group=www-data
WorkingDirectory=/bin
Type=oneshot
RemainAfterExit=yes
@alxschwarz
alxschwarz / ansible_command_line
Created February 23, 2017 12:17
Using ansible in command line
ansible -i hosts '192.168.1.10*' -m setup | sed 's/.*|.*=>.*/{/g' | jq -r '.ansible_facts.ansible_hostname'
@alxschwarz
alxschwarz / ansible_get_disks.yml
Last active February 21, 2017 13:11
ansible: getting disks on instance
- hosts: localhost
gather_facts: no
tasks:
- name: Get list of disks on instance
shell: "/bin/lsblk -l |grep disk|awk '{print $1}'"
register: disks
- debug: var=item
with_items: "{{ disks.stdout.split('\n') }}"
@alxschwarz
alxschwarz / gcs.go
Created February 17, 2017 12:57 — forked from techjanitor/gcs.go
Upload a file to Google Cloud Storage
package main
import (
"errors"
"fmt"
"golang.org/x/oauth2"
"golang.org/x/oauth2/jwt"
storage "google.golang.org/api/storage/v1"
"os"
)
@alxschwarz
alxschwarz / redis.md
Created January 31, 2017 15:07
redis notes

Redis backup

Предистория

В какой-то момент мы переезжали с Amazon AWS на Google Cloud. На Амазоне мы использовали ElastiCache в количестве 5 отдельных экземпляров, без кластеров и т.д. Бэкапы делались автоматически, иногда вручную (при необходимости), но все равно с помощью средств, предоставляемых Амазоном. В процессе переезда и тестирования возможностей GCE встал вопрос о поднятии инстансов Redis самостоятельно и настройки создания резервных копий баз, поскольку Google не предоставляет сервисов, аналогичных ElastiCache.

Redis Persistence

Redis позволяет сохранять данные на диск следующими способами:

  • RDB: это point-in-time снапшоты данных, создаваемые с определенным интервалом
  • AOF: файл, в который записывается каждая операция на запись, полученная сервером. Команды записываются в том же формате, что и сам протокол Redis, в режиме append-only, то есть только добавление.
@alxschwarz
alxschwarz / gist:21f3995f578d7fbedeb04c0fc7de8ea2
Created November 28, 2016 14:23
ansible: register block fail
---
- name: Test
hosts: localhost
tasks:
- name: test mode
shell: echo 1
register: env
- debug: msg="{{ env.stdout }}"
@alxschwarz
alxschwarz / redis-backup.sh
Created November 3, 2016 10:08 — forked from acenqiu/redis-backup.sh
redis rdb backup script
#!/bin/bash
#
## redis backup script
## usage
## redis-backup.sh port backup.dir
port=${1:-6379}
backup_dir=${2:-"/data/backup/redis"}
cli="/usr/local/bin/redis-cli -p $port"
@alxschwarz
alxschwarz / redis_backup.sh
Created November 3, 2016 10:07
A Backup Script To Move Redis RDBs and AOF to S3.
#!/bin/bash
#################################################################
## AUTHOR: allan parsons ([email protected])
## DATE: 2013-July-24
## PURPOSE:
## We currently have multiple redis processes running on a
## single box, and we're wanting to backup all of the rdb
## files and aof files to S3 on a semi-regular basis.
## This loops through all the configs to find the appropriate
## AOF, RDB, and instance names.