706 B
		
	
	
	
	
	
	
	
			
		
		
	
	
			706 B
		
	
	
	
	
	
	
	
grsync
package main
import (
    "fmt"
    "grsync"
    "time"
)
func main() {
    task := grsync.NewTask(
        "username@server.com:/source/folder",
        "/home/user/destination",
        grsync.RsyncOptions{},
    )
    go func() {
        for {
            state := task.State()
            fmt.Printf(
                "progress: %.2f / rem. %d / tot. %d / sp. %s \n",
                state.Progress,
                state.Remain,
                state.Total,
                state.Speed,
            )
            time.Sleep(time.Second)
        }
    }()
    if err := task.Run(); err != nil {
        panic(err)
    }
    fmt.Println("well done")
    fmt.Println(task.Log())
}