Skip to content

Instantly share code, notes, and snippets.

@haje01
Last active October 21, 2022 04:27
Show Gist options
  • Save haje01/0e8150192782a8158c1e2d2e7152f475 to your computer and use it in GitHub Desktop.
Save haje01/0e8150192782a8158c1e2d2e7152f475 to your computer and use it in GitHub Desktop.
Snakemake 로 다수 서버의 타임존 갱신
## 다수 서버의 타임존 한 번에 갱신 하기
#
# # Asia/Seoul 존의 경우 ($ 에 주의)
# $ snakemake -F temp/Asia/Seoul$ -j
#
# # America/Argentina/Cordoba 의 경우
# $ snakemake -F temp/America/Argentina/Cordoba$ -j
#
# 업데이트 대상 호스트 주소
HOSTS = [
# "10.0.0.1",
# "10.0.0.2",
# "10.0.0.3",
]
rule apply_all:
input:
expand("temp/{{tzdb_name}}/{host}", host=HOSTS)
output:
"temp/{tzdb_name,[^\$]+}$"
shell:
"touch {output[0]}"
rule apply_host:
output:
"temp/{tzdb_name,[^\$]+}/{host,[^\$]+}"
shell:
"""
# OS 타임존 설정
ssh ubuntu@{wildcards.host} -i 프라이빗키_경로 -o StrictHostKeyChecking=no 'sudo cp -p /usr/share/zoneinfo/{wildcards.tzdb_name} /etc/localtime'
# 필요시 환경변수 설정 등 추가 작업
# ...
touch {output[0]}
"""
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment