]>
apps.delaporte.us Git - dotfiles.git/blob - invoke/upgrade-linux/tasks.py
c079ba8847512248cf06ecaf3d7fa6d3e49b6638
1 from invoke
import task
3 from datetime
import datetime
as dt
6 HOME
= os
.path
.expanduser('~')
7 TODAY
= dt
.now().strftime('%Y.%m.%d')
8 DOTFILES
=f
'{HOME}/dotfiles'
12 def backup_package_list(c
):
13 c
.run(f
'dpkg --get-selections > {HOME}/backup/packages.{TODAY}.dpkg')
16 def show_disk_space(c
):
17 print("Do we have at least 5G of free space?")
21 def backup_sources(c
):
22 c
.run(f
'cp /etc/apt/sources.list {HOME}/backup/sources.list.{TODAY}.backup')
28 print("Use --prompt-for-sudo")
29 c
.run(f
'sudo tar -czf {HOME}/backup/etc.backup.{TODAY}.tar.gz /etc')
31 c
.run(f
'sudo chown {login}:{login} {HOME}/backup/etc.backup.{TODAY}.tar.gz')
35 def review_backups(c
):
36 print('Lines in dpkg backup:')
37 c
.run(f
'cat {HOME}/backup/*.dpkg | wc -l')
38 print('Files in /etc backup:')
39 c
.run(f
'tar tf {HOME}/backup/etc.backup.*.tar.gz | wc -l')
40 print('Ensure sources are backed up:')
41 c
.run(f
'tar tf {HOME}/backup/etc.backup.*.tar.gz | grep etc/apt/sources')
42 c
.run(f
'ls -al --block-size=M {HOME}/backup')
46 backup_package_list(c
)
47 backup_sources_list(c
)