$ ./1.test.1.pl title is 1.test. path1 is /home/hogan/5.scripts/1.test. abs is /home/hogan/5.scripts/1.test./1.test.1.pl ini path is /home/hogan/Documents/html_template_data/6.values.ini $VAR1 = bless( { 'my_sftp' => { 'key_path' => '/home/hogan/.ssh/id_rsa', 'domain' => '164.90.158.33', 'username' => 'fred', 'port' => '22' }, } }, 'Config::Tiny' ); values are 164.90.158.33 fred 22 OpenSSH_7.6p1 Ubuntu-4ubuntu0.3, OpenSSL 1.0.2n 7 Dec 2017 debug1: Reading configuration data /etc/ssh/ssh_config ... debug1: Authentication succeeded (publickey). Authenticated to 164.90.158.33 ([164.90.158.33]:22). debug1: channel 0: new [client-session] ... debug1: Sending subsystem: sftp object created, back with caller word is 1.test. dir2 is /var/www/html/perlmonks 1.test.1.html 1.test.3.html 1.test.2.html 1.test.1.css files are 1.test.1.html 1.test.3.html 1.test.2.html 1.test.1.css old num is 3 Make rus captions(y/n)?: y matching are b.txt rus_munge is /home/hogan/5.scripts/1.test./template_stuff/translations/trans.15-10-2020-22-01-35.txt rus_path is /home/hogan/5.scripts/1.test./template_stuff/ruscaptions/b.txt Get other translations(y/n)?: n remote_dir is 1.test.4 result is 1.test.

Portland, Thu Oct 15 22:01:39 2020

Screenshots for DigitalOcean

dir is /home/hogan/5.scripts/1.test./template_stuff/captions dir is /home/hogan/5.scripts/1.test./template_stuff/ruscaptions tmpl is /home/hogan/5.scripts/1.test./template_stuff/code2.tmpl Put file to server(y/n)?: y $VAR1 = { 'place' => 'Portland', 'script_file' => '/home/hogan/5.scripts/1.test./1.test.1.pl', 'refc' => [ [ 'Screenshot from 2020-10-04 11-20-42.png', '

Building new site with perl template.

', '

Neue Site mit Perl-Vorlage erstellen.

' ] ], , 'html_file' => '1.test.4.html', 'headline' => undef, 'chapter' => 'for DigitalOcean', 'print_module' => 0, 'print_script' => '1', 'ts' => 'template_system', 'remote_dir' => '1.test.4', 'css_file' => '1.test.1.css', 'image_dir' => '/var/www/html/pmimage', 'title' => '1.test.', 'server_dir' => '/var/www/html/perlmonks', 'book' => 'Screenshots', 'oibottom' => bless( [ '/home/hogan/5.scripts/1.test./template_stuff/oibottom.txt', '/home/hogan/5.scripts/1.test./template_stuff/oibottom.txt' ], 'Path::Tiny' ) }; server dir is /var/www/html/perlmonks execution was here return1 is Directory /var/www/html/perlmonks already exists! setcwd2 failed path3 is /home/hogan/5.scripts/1.test./template_stuff/1.test.1.css image dir is /var/www/html/pmimage parameter array is /var/www/html/pmimage Net::SFTP::Foreign=HASH(0x55ecba31fb60) Couldn't create remote directory: Permission denied Bounce wireless(y/n)?: alarm set for ten in process 22679 and pinging google PING www.google.com (216.58.217.36) 56(84) bytes of data. 64 bytes from den03s10-in-f36.1e100.net (216.58.217.36): icmp_seq=1 ttl=117 time=15.5 ms ... 64 bytes from den03s10-in-f36.1e100.net (216.58.217.36): icmp_seq=14 ttl=117 time=11.7 ms ^C --- www.google.com ping statistics --- 14 packets transmitted, 14 received, 0% packet loss, time 13015ms rtt min/avg/max/mdev = 11.779/15.660/23.484/3.148 ms debug1: channel 0: free: client-session, nchannels 1 debug1: fd 0 clearing O_NONBLOCK debug1: fd 1 clearing O_NONBLOCK Killed by signal 2. $ #### # upload images my $image_dir = $vars{"image_dir"}; say "image dir is $image_dir"; my $return2 = createDir( $image_dir, $sftp ); say "return2 is $return2"; #### sub createDir { use 5.011; use Net::SFTP::Foreign; my ( $dirName, $sftp ) = @_; if ( $sftp->test_e($dirName) ) { if ( !$sftp->test_d($dirName) ) { print "Remove file(y/n)?: "; my $prompt1 = ; chomp $prompt1; if ( $prompt1 eq ( "y" | "Y" ) ) { if ( fork() == 0 ) { # arm the alarm clock alarm(35); say "you got 35 seconds for process $$"; # create a child process my $return3 = $sftp->remove($dirName); say "return3 is $return3"; createDir($dirName, $sftp); say "process $$ executed here"; exit(0); } } #end if that tests !$sftp->test_d($dirName) next brace } if ( $sftp->test_d($dirName) ) { say "execution was here"; return "Directory $dirName already exists!"; } else { say "Can't create $dirName because there's a file in the way!"; handleDirCreateError( @_, $sftp->error ); } } my $success = $sftp->mkdir($dirName) or handleDirCreateError( @_, $sftp->error ); return $success; } #### sub handleDirCreateError { use 5.011; use Net::SFTP::Foreign; my ( $dirName, $sftp, $error ) = @_; say "parameter array is @_"; if ( fork() == 0 ) { # arm the alarm clock alarm(10); say "alarm set for ten in process $$ and pinging google"; # create a child process my $trial = system("ping www.google.com"); say "trial is $trial"; exit(0); } print "Bounce wireless(y/n)?: "; my $prompt1 = ; chomp $prompt1; if ( $prompt1 eq ( "y" | "Y" ) ) { if ( fork() == 0 ) { # arm the alarm clock alarm(35); say "alarm set for 35 in process $$ and restarting network"; # create a child process my $trial2 = system("sudo service network-manager restart"); say "trial2 is $trial2"; sleep 30; say "sleeping 30"; exit(0); } } print "Do you think you're ready now(y/n)?: "; my $prompt2 = ; chomp $prompt2; if ( $prompt2 eq ( "y" | "Y" ) ) { my $return2 = createDir( $dirName, $sftp ); say "return2 is $return2"; } else { say "$error was too much this time: ceasing execution"; die; } return "execution shouldn't get here"; } #### if ( fork() == 0 ) { # arm the alarm clock alarm(10); say "alarm set for ten in process $$ and pinging google"; # create a child process my $trial = system("ping www.google.com"); say "trial is $trial"; exit(0); } #### debug1: fd 0 clearing O_NONBLOCK debug1: fd 1 clearing O_NONBLOCK