[kdepim-users] kabcclient export script don't work with cron

Andreas Zeller a-zeller at web.de
Thu Nov 17 10:16:20 GMT 2011


Am 16.11.2011, 15:35 Uhr, schrieb Kevin Krammer <kevin.krammer at gmx.at>:

> On Wednesday, 2011-11-16, Andreas Zeller wrote:
>> Am 16.11.2011, 13:50 Uhr, schrieb Kevin Krammer <kevin.krammer at gmx.at>:
>> > On Wednesday, 2011-11-16, Andreas Zeller wrote:
>> >> I don't know, whether it's a PIM-problem. If not, please tell me.
>> >>
>> >> I make scheduled backups with cron, that works fine.
>> >>
>> >> # /etc/crontab: system-wide crontab
>> >> # Unlike any other crontab you don't have to run the `crontab'
>> >> # command to install the new version when you edit this file
>> >> # and files in /etc/cron.d. These files also have username fields,
>> >> # that none of the other crontabs do.
>> >> SHELL=/bin/sh
>> >> PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
>> >> # m h dom mon dow user	command
>> >> 17 *	* * *	root    cd / && run-parts --report /etc/cron.hourly
>> >> 25 6	* * *	root	test -x /usr/sbin/anacron || ( cd / && run-parts
>> >> --report
>> >> /etc/cron.daily )
>> >> 47 6	* * 7	root	test -x /usr/sbin/anacron || ( cd / && run-parts
>> >> --report
>> >> /etc/cron.weekly )
>> >> 52 6	1 * *	root	test -x /usr/sbin/anacron || ( cd / && run-parts
>> >> --report
>> >> /etc/cron.monthly )
>> >> 0	10-20	*	*	*	root	/home/USER/Scripte/SicherungAufNAS
>> >> 30	10-20	*	*	*	root	
> /home/USER/Scripte/KAddressbook_Export_vCard
>> >
>> > Doesn't that mean that the script will run as user root?
>> >
>> >> Now I want to export KAddressbook contacts within a script.
>> >>
>> >> #!/bin/sh
>> >> # KAddressbook_Export_vCard
>> >> kabcclient -L > /home/USER/contacts_hourly_backkup.vcf
>> >> #
>> >>
>> >> As a script started manually in the console, it works fine. But if  
>> cron
>> >> starts the script, only an empty file is created.
>> >
>> > Assuming the "root" in the user fields means the script is executed as
>> > root,
>> > does root have a KDE addressbook?
>>
>> I also tried cron with
>>
>> 30	10-20	*	*	*	USER	
> /home/USER/Scripte/KAddressbook_Export_vCard
>>
>> and as script
>>
>> env USER=USER HOME=/home/USER kabcclient -L >
>> /home/USER/contacts_hourly_backkup.vcf
>>
>> both doesn't work. Every time an empty file is created.
>
> In this case I expect the problem to be different environment from when  
> you run
> it manually.
>
> Run your normal desktop session as a different user and try the script  
> manually
> in a shell where you su - into, i.e. so that the current user's  
> environment
> gets discarded.
>
> It might also help to redirect stderr of the application into a file for
> checking if it reported any errors, i.e.
>  2> /home/USER/contacts_hourly_backup.err

redirecting stderr - I love it to learn something new!

If I start the script

    kabcclient -L > /home/USER/contacts_hourly_backkup.vcf 2>  
/home/USER/contacts_hourly_backup.err

manually, witch exports the contacts correctly, contacts_hourly_backup.err  
contains

    kabcclient(3768)/kio (KDirWatch) KDirWatchPrivate::removeEntry: doesn't  
know "/home/USER/.kde/share/apps/kabc"

If cron starts the same script, it creates an empty  
contacts_hourly_backkup.vcf  and also an empty contacts_hourly_backup.err

So there is no error, why?


-- 
Erstellt mit Operas revolutionärem E-Mail-Modul: http://www.opera.com/mail/

_______________________________________________
KDE PIM users mailing list
Subscription management: https://mail.kde.org/mailman/listinfo/kdepim-users


More information about the kdepim-users mailing list