mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
30 lines
1.1 KiB
Desktop File
30 lines
1.1 KiB
Desktop File
[Unit]
|
|
Description=rclone powered etcd2 backup service
|
|
After=etcd2.service
|
|
|
|
[Service]
|
|
Type=oneshot
|
|
|
|
ExecStartPre=/usr/bin/rm -rf ${ETCD_BACKUP_DIR}
|
|
ExecStartPre=/usr/bin/mkdir -p ${ETCD_BACKUP_DIR}/member/snap
|
|
ExecStartPre=/usr/bin/echo ETCD_DATA_DIR: ${ETCD_DATA_DIR}
|
|
ExecStartPre=/usr/bin/echo ETCD_BACKUP_DIR: ${ETCD_BACKUP_DIR}
|
|
ExecStartPre=/usr/bin/etcdctl backup --data-dir=${ETCD_DATA_DIR} --backup-dir=${ETCD_BACKUP_DIR}
|
|
ExecStartPre=/usr/bin/touch ${ETCD_BACKUP_DIR}/member/snap/iamhere.txt
|
|
|
|
# Copy the last backup, in case the new upload gets corrupted
|
|
ExecStartPre=-/usr/bin/docker run --rm \
|
|
-v ${RCLONE_CONFIG_PATH}:/etc/rclone.conf \
|
|
quay.io/coreos/rclone:latest --config /etc/rclone.conf --checksum=${RCLONE_CHECKSUM} \
|
|
copy ${RCLONE_ENDPOINT}/%m ${RCLONE_ENDPOINT}/%m_backup
|
|
|
|
# Upload new backup
|
|
ExecStart=/usr/bin/docker run --rm \
|
|
-v ${ETCD_BACKUP_DIR}:/etcd2backup \
|
|
-v ${RCLONE_CONFIG_PATH}:/etc/rclone.conf \
|
|
quay.io/coreos/rclone:latest --config ${RCLONE_CONFIG_PATH} --checksum=${RCLONE_CHECKSUM} \
|
|
copy /etcd2backup/ ${RCLONE_ENDPOINT}/%m/
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|