Statistics
| Branch: | Tag: | Revision:

root / docs / collection_of_examples / updownload.rst @ 4bc870bf

History | View | Annotate | Download (3.8 kB)

1
Upload and Downloads
2
====================
3

    
4
The operations of uploading files to pithos as objects, and downloading
5
objects from pithos as a file are presented in this section.
6

    
7
Enter file context
8

    
9
.. code-block:: console
10

    
11
    $ kamaki
12
    [kamaki]: file
13
    [file]:
14

    
15
Upload a file or a directory
16
----------------------------
17

    
18
First, check the files at the current directory
19

    
20
.. code-block:: console
21

    
22
    [file]: ! ls -F
23
    file2upload.txt
24
    dir2upload/
25
    [file]: list
26
    pithos (36MB, 5 objects)
27
    trash  (0B, 0 objects)
28

    
29
.. note:: the `!` symbol is used to run host shell commands
30

    
31
Upload `file2upload.txt` to remote container `pithos`
32

    
33
.. code-block:: console
34

    
35
    [file]: upload file2upload.txt pithos
36
    Uploading /home/someuser/file2upload.txt --> pithos:file2upload.txt
37
    Done
38

    
39
Check remote container `pithos` to confirm
40

    
41
.. code-block:: console
42

    
43
    [file]: list pithos
44
    2 KB file2upload.txt
45
    2KB  info.txt
46
    D    video/
47
    11MB video/tk1.mpg
48
    12MB video/tk2.mpg
49
    13MB video/tk3.mpg
50
    [file]:
51

    
52
Attempt to upload a whole directory, fail and retry with correct arguments
53

    
54
.. code-block:: console
55

    
56
    [file]: upload dir2upload pithos
57
    /home/someuser/dir2upload is a directory
58
    |  Use -R to upload directory contents
59
    [file]: upload -R dirupload pithos
60
    mkdir pithos:dir2upload
61
    Uploading /home/someuser/dir2upload/large.mov --> pithos:dir2upload/large.mov
62
    Uploading /home/someuser/dir2upload/small.mov --> pithos:dir2upload/small.mov
63
    Done
64
    [file]: list pithos
65
    D    dir2upload/
66
    1GB  dir2upload/large.mov
67
    1MB  dir2upload/small.mov
68
    2 KB file2upload.txt
69
    2KB  info.txt
70
    D    video/
71
    11MB video/tk1.mpg
72
    12MB video/tk2.mpg
73
    13MB video/tk3.mpg
74
    [file]:
75

    
76
.. note:: Try to reupload the files (use the -f option to override) and notice
77
    how much faster is the uploading now. Pithos can determine what parts of
78
    the file are already uploaded so that kamaki won't attempt to upload them
79
    again.
80

    
81
Download an object or a directory
82
---------------------------------
83

    
84
Download object `info.txt` as a local file of the same name
85

    
86
.. code-block:: console
87

    
88
    [file]: download pithos:info.txt
89
    Downloading pithos:info.txt --> /home/someuser/info.txt
90
    Donw
91
    [file]:
92

    
93
Download directory `video` as a local directory with its contents.
94
We will suppose that a power failure causes the operation to stop unexpectingly
95
before it's completed.
96

    
97
.. code-block:: console
98

    
99
    [file]: download -R pithos:video
100
    mkdir video
101
    Downloading pithos:video/tk1.mpg --> /home/someuser/video/tk1.mpg
102
    Done
103
    Downloading pithos:video/tk2.mpg --> /home/someuser/video/tk2.mpg
104
    <POWER FAILURE>
105

    
106
After we recover the terminal and load kamaki in `file` context, we find out
107
that `tk1.mpg` had been downloaded while `tk2.mpg` download is incomplete.
108

    
109
.. code-block:: console
110

    
111
    $ ls -F video
112
    tk1.mpg 11MB
113
    tk2.mpg 4MB
114
    $
115

    
116
Let's resume the download uperations (use -r)
117

    
118
.. code-block:: console
119

    
120
    [file]: download -R pithos:video
121
    Directory video already exists
122
    | Use -r to resume
123
    [file]: download -R -r pithos:video
124
    Resuming pithos:video/tk2.mpg --> /home/someuser/video/tk2.mpg
125
    Downloading pithos:video/tk3.mpg --> /home/someuser/video/tk3.mpg
126
    Done
127
    [file]:
128

    
129
Upload all
130
----------
131

    
132
.. code-block:: console
133

    
134
    [file]: upload -R -f . pithos
135
    Done
136
    [file]:
137

    
138
.. note:: Kamaki calculated that all information is already uploaded, there was
139
    nothing to be done. If there is was a new or modified file, kamaki would
140
    detect and upload it.
141

    
142
Download all
143
------------
144

    
145
.. code-block:: console
146

    
147
    [file]: download -R -r pithos
148
    Done
149
    [file]:
150

    
151
.. note:: Kamaki determined that all files have already been calculated. This
152
    operation examines all local files against the remote objects and
153
    downloads only missing data.